陷入rake迁移

时间:2013-06-28 04:43:09

标签: ruby-on-rails migrate rakefile

你们每个人都好吗?

我在rake迁移中'STUCK' -

错误消息显示 -

  

迁移到AddDeviseToUsers(20130628040020)   == AddDeviseToUsers:迁移============================================= ==    - change_table(:用户)rake中止了!发生错误,此操作和所有后​​续迁移都已取消:

     

PG ::错误:错误:关系“users”不存在:ALTER TABLE   “用户”添加列“电子邮件”字符变化(255)DEFAULT''NOT   NULL /应用/供应商/束/红宝石/ 2.0.0 /宝石/了activerecord-3.2.12 / LIB / active_record / connection_adapters / postgresql_adapter.rb:652:在   exec' ... /app/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.12/lib/active_record/migration.rb:551:in 迁移”   /app/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.12/lib/active_record/railties/databases.rake:179:in   '任务:TOP =>中的'阻止(2级) db:migrate(参见   使用--trace运行任务的完整跟踪   Optinovations-MacBook-Air:omrails Optinovation $ rake db:migrate rake   中止!

不知道如何构建任务'db:'

https://github.com/optinovation/omrails

Heroku日志:

  

2013-06-28T04:30:42.808951 + 00:00 heroku [api]:启动过程   hansean@gmail.com命令bundle exec rake db:migrate   2013-06-28T04:30:48.308515 + 00:00 heroku [run.8286]:等待客户   2013-06-28T04:30:48.353120 + 00:00 heroku [run.8286]:启动过程   使用命令bundle exec rake db:migrate   2013-06-28T04:30:56.086242 + 00:00 heroku [run.8286]:州改变了   最新完成2013-06-28T04:30:56.078116 + 00:00 heroku [run.8286]:   处理退出状态1 2013-06-28T05:31:34.078443 + 00:00   heroku [web.1]:空闲2013-06-28T05:31:36.753947 + 00:00 heroku [web.1]:   使用SIGTERM 2013-06-28T05:31:38.664799 + 00:00停止所有进程   heroku [web.1]:进程退出状态为0   2013-06-28T05:31:38.670876 + 00:00 heroku [web.1]:状态从上变   下来

请帮忙!

1 个答案:

答案 0 :(得分:0)

我克隆了您的仓库,看起来问题就出现了,因为您的用户表已经有电子邮件和名称列。

在db / schema.rb文件中,您可以看到db架构带有时间戳(:version => 20130627224008),它早于2个待处理的迁移时间戳。如果/何时迁移成功,schema.rb时间戳将更新。

关键是,您似乎已在User表中包含电子邮件和名称列。具体来看一下schema.rb中的第35行和第47行。

我在运行rake时看到的开发环境中抛出的错误:db migrate是,“SQLite3 :: SQLException:重复列名:email:ALTER TABLE”用户“ADD”电子邮件“。

我没有尝试将您的应用推向生产,但根据我的经验,PostgreSQL(PG)和SQLite错误可能会因同一问题略有不同。