gpt4 book ai didi

ruby-on-rails - 关于运行 rake db :seed task 的问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:37 25 4
gpt4 key购买 nike

我有一个现有的 Rails 项目,我正在使用 postgres 数据库,在成功执行 bundle exec rake db:migrate 命令后,当我要执行 bundle exec rake db:seed 命令时,它会抛出以下错误。

rake 中止了!PG::DuplicateTable:错误:关系“schema_migrations”已经存在

我已经注释掉了存储 schema_migration 表创建定义的行,例如在 development_structure.sql 和 test_structure.sql 文件中。但它仍然向我抛出错误。

我不知道从哪里创建 schema_migration 表。我的项目中没有 schema_migration.rb 文件。

请帮我解决这个问题。提前致谢!

这是我的错误日志。

  rake aborted!
PG::DuplicateTable: ERROR: relation "schema_migrations" already exists
: CREATE TABLE "schema_migrations" ("version" character varying(255) NOT NULL)
/home/bit/.rvm/gems/ruby-2.1.5/gems/activerecord-2.3.18/lib/active_record/connection_adapters/abstract_adapter.rb:227:in `rescue in log'
/home/bit/.rvm/gems/ruby-2.1.5/gems/activerecord-2.3.18/lib/active_record/connection_adapters/abstract_adapter.rb:204:in `log'
/home/bit/Development/app2/application/lib/core_extensions/postgresql_adapter/reconnect.rb:26:in `execute'
/home/bit/.rvm/gems/ruby-2.1.5/gems/activerecord-2.3.18/lib/active_record/connection_adapters/abstract/schema_statements.rb:109:in `create_table'
/home/bit/.rvm/gems/ruby-2.1.5/gems/activerecord-2.3.18/lib/active_record/connection_adapters/abstract/schema_statements.rb:371:in `initialize_schema_migrations_table'
/home/bit/.rvm/gems/ruby-2.1.5/gems/activerecord-2.3.18/lib/active_record/migration.rb:441:in `initialize'
/home/bit/.rvm/gems/ruby-2.1.5/gems/rails-2.3.18/lib/tasks/databases.rake:193:in `new'
/home/bit/.rvm/gems/ruby-2.1.5/gems/rails-2.3.18/lib/tasks/databases.rake:193:in `block (2 levels) in <top (required)>'
/home/bit/.rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `eval'
/home/bit/.rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:seed => db:seed:common => db:seed:original => db:abort_if_pending_migrations
(See full trace by running task with --trace)

最佳答案

如果可以在本地删除您的数据,请尝试

rake db:drop db:create db:migrate

然后再播种。我过去遇到过类似的问题,我删除了一个迁移而没有正确回滚它,这就是解决方案。

如果您需要保留它,请打开 rails 数据库(rails db 来自终端)并尝试

drop table schema_migrations

(在此之后再次使用 db:migrate 运行迁移)

编辑:这还没有解决问题,但似乎还有其他问题需要考虑。OP 无法启动 Rails 控制台并接收

undefined local variable or method `vars' for #<Rails::Generator::Commands::Create:0x00000001ca2578>

作为每次的错误信息-如果有人在这里有想法,请添加答案!

关于ruby-on-rails - 关于运行 rake db :seed task 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48221149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com