【发布时间】:2015-02-17 22:42:42
【问题描述】:
当我运行 rake db:migrate 时,我得到以下输出:
== 20141219011612 CreatePost:正在迁移 ======================================== -- create_table("posts") rake 中止! StandardError:发生错误,此迁移和所有后续迁移已取消: == 20141219011612 帖子:迁移====================================== -- create_table("posts") rake 中止! StandardError:发生错误,此迁移和所有后续迁移已取消:
PG::DuplicateTable: 错误: 关系 "posts" 已经存在: CREATE TABLE "posts" ("id" 序列主键、"post" 文本、"release_date" 时间戳,“created_at”时间戳,“updated_at”时间戳) /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in
async_exec' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:inblock 正在执行' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapter/abstract_adapter.rb:373:inblock in log' /home/admin/.rvm/gems/ruby-2.1.5/gems/activesupport-4.1.8/lib/active_support/notifications/instrumenter.rb:20:ininstrument' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapter/abstract_adapter.rb:367:inlog' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:127:inexecute' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_statements.rb:205:increate_table' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:649:inblock in method_missing' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:inblock in say_with_time' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:insay_with_time' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:641:in `method_missing'
...
migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/railties/databases.rake:34:inblock (2 个级别) in' 任务:TOP => db:migrate (参见 通过使用 --trace 运行任务来完整跟踪)
我不明白这怎么可能,因为在方案文件中我没有发布表。
【问题讨论】:
-
删除 Rails 控制台中的重复表。这对我有帮助:stackoverflow.com/a/13299109/6594668
-
请先检查您的数据库是否存在相同的表名,如果没有,请告诉我。会给你解决方案