Lea*_* Er 18 postgresql ruby-on-rails
当我运行rake db:migrate时,我得到以下输出:
== 20141219011612 CreatePost:迁移======================================= - create_table("帖子")耙子流产!StandardError:发生错误,此以及所有后续迁移都已取消:== 20141219011612 Postposts:migration ============================== ========= - create_table("posts")rake aborted!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:
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:in在执行'/home/admin/.rvm/gems/ 中的 块中ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/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_adapters/abstract_adapter.rb:367:log' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:127:in执行'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/ schema_statements.rb:205:在create_table' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:649:inmethod_missingblock in say_with_time' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:in'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/ migration.rb:621:in say_with_time'/ home 中的 块中 /admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:641:inmethod_missing' /home/admin/Desktop/postr/db/migrate/20141219011612_post_posts.rb:3:inup'/ home/admin/.rvm/gem s/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:598:在迁移中的exec_migration' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:579:in块(2级)' /home/admin/.rvm/gems/ruby-2.1.5 /gems/activerecord-4.1.8/lib/active_record/migration.rb:578:inblock in migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:inwith_connection'/ home/ admin/ .rvm/ gems/ ruby- 2.1.5/ gems/ activerecord- 4.1.8/ lib/active_record/ migration.rb:577:在ddl_transaction'/ home 中migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:752:in迁移'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:991:inblock in execute_migration_in_transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:in块/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:inblock in transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:209:inwithin_new_transaction'/ home/ admin/ .rvm/ gems/ruby -2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:在transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/transactions.rb:208:in事务'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord- 4.1.8/lib/active_record/migration.rb:1037:在ddl_transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:990:inexecute_migration_in_transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:952 :在block in migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:in每个'/home/admin/.rvm/gems/r中 uby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:inmigrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:807:inup' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8 /lib/active_record/migration.rb:785:inmigrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/railties/databases.rake:34:in在ActiveRecord :: StatementInvalid:PG :: DuplicateTable中的块(2个级别):错误:关系"posts"已存在:CREATE TABLE"posts"("id"串行主键,"post"文本,"release_date"timestamp,"created_at"timestamp,"updated_at"timestamp)/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters /postgresql/database_statements.rb:128:inasync_exec' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in执行'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract_adapter.rb:373:在block in log' /home/admin/.rvm/gems/ruby-2.1.5/gems/activesupport-4.1.8/lib/active_support/notifications/instrumenter.rb:20:in仪器'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/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:in methodcreate_table' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:649:inin method_missing'/ hom e/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:inmethod_missing' /home/admin/Desktop/postr/db/migrate/20141219011612_post_posts.rb:3:inup' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record 迁移中的/migration.rb:598:inexec_migration' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:579:inblock(2个级别)'/ home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:578 :在block in migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:inwith_connection'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:577:inmigrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:752:inmigrate'/ home/admin/.rvm/gems/ ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:991:block in execute_migration_in_transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:in在ddl_transaction 中的 块'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1 .8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:inblock in transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:209:inwithin_new_transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/ abstract/database_statements.rb:201:在transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/transactions.rb:208:in事务'/home/admin/.rvm/gems/ruby-2中.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:inddl_transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:990:inexecute_migration_in_transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record /migration:rb:952:inblock in migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:in每个'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:inmigrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:807:inup'/ home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:785:migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/railties/databases.rake:34:in在'PG :: DuplicateTable:ERROR:relation"帖子中的 块(2级)中已存在/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:inasync_exec' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in执行'/ home/admin /中的块.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/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_adapters/abstract_adapter.rb:367:log' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:127:in执行'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters /抽象/ schema_statements.rb:205:在create_table' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:649:inmethod_missingblock in say_with_time' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:in'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/ migration.rb:621:in say_with_time'/ home 中的 块中 /admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:641:inmethod_missing' /home/admin/Desktop/postr/db/migrate/20141219011612_post_posts.rb:3:inup'/ home/admin/.rvm/gems/ruby-2.1.5 /gems/activerecord-4.1.8/lib/active_record/migration.rb:598:in中的exec_migration' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:579:in块(2级)迁移'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1. 8/lib/active_record/migration.rb:578:inblock in migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:inwith_connection' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb: 577 :in 在ddl_transaction'/home/admin/.rvm/gems中migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:752:in迁移'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:991:inblock in execute_migration_in_transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:in块/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:inblock in transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:209:inwithin_new_transaction'/ home/ admin/ .rvm/ gems/ruby- 2.1.5/ gems/了activerecord-4.1.8/LIB/active_record/connection_adapters /抽象/ database_statem ents.rb:201:在transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/transactions.rb:208:in事务'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:inddl_transaction' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:990:inexecute_migration_in_transaction'/ home/admin /.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:952:inblock in migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:ineach'/ home/admin/.rvm/gems/ruby-2.1.5/gems /activerecord-4.1.8/lib/active_record/migration.rb:948:inmigrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:807:inup'/ home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration . rb:785:在migrate' /home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/railties/databases.rake:34:in'任务:TOP => db:migrate 中的 块(2级)中(通过使用--trace运行任务来查看完整跟踪)
我不知道这是怎么可能的,因为在方案文件中我没有邮政表.
Bil*_*hty 59
不知何故,您最终在数据库中找到了一个名为"posts"的表.也许是从您之前的迁移中删除而没有回滚?如果您不关心数据库中的任何数据,则可以运行
rake db:drop db:create db:migrate
Run Code Online (Sandbox Code Playgroud)
使您的开发数据库与您当前的迁移一致.
如果您不希望丢失其他表中的数据,请打开数据库控制台并手动删除posts表:
$ rails db
# drop table posts;
Run Code Online (Sandbox Code Playgroud)
然后又跑db:migrate了.