当我运行rake db:migrate时,我得到以下输出:
==20141219011612 CreatePost:迁移=======================================
–创建“表格”(“帖子”)rake中止!StandardError:发生错误,此迁移和所有后续迁移已取消:
==20141219011612后置:迁移=======================================
–创建“表格”(“帖子”)rake中止!StandardError:发生错误,此迁移和所有后续迁移已取消:PG::DuplicateTable:错误:关系;职位;已存在:创建
表「;职位;(“id”序列主键、“post”文本、“发布日期”;
时间戳,“创建”时间戳,“更新”时间戳)
/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active\u record/connection\u adapters/postgresql/database\u语句。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 in execute’
/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active\u record/connection\u adapters/abstract\u adapter.rb:373:inblock in/home/admin/.rvm/gems/ruby-2.1.5/gems/activesupport-4.1.8/lib/active\u support/notifications/instrumenter.rb:20:ininstrument
/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active\u record/connection\u adapters/abstract\u adapter.rb:367:inlog'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active\u record/connection\u adapters/postgresql/database\u语句。rb:127:inexecute’
/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active\u record/connection\u adapters/abstract/schema\u statements.rb:205:in
create_table'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:649:in方法中的块缺失’
/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active\u record/migration.rb:621:in
block 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\u record/migration.rb:641:in
`方法_缺失’
migrate'/home/admin/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active\u record/railties/databases.rake:34:inblock(2级)in<;顶部(必需)>;’任务:TOP=>;db:迁移(请参见
通过使用–trace运行任务完成完整跟踪
我不明白这是怎么可能的,因为在方案文件中我并没有post表
不知怎的,您最终在数据库中得到了一个名为“posts”的表。可能是从以前的迁移中删除而没有回滚?如果不关心数据库中的任何数据,可以运行
rake db:drop db:create db:migrate
使开发数据库与当前迁移保持一致
如果您不想丢失其他表中的数据,请打开数据库控制台并手动删除posts表:
$rails数据库
#放下桌柱;
然后再次运行db:migrate