问题如下:
- 我有包含初始数据的 db/seed.rb。
- 其中一个迁移取决于该种子提供的数据。
- 我正在尝试从空数据库部署我的应用程序。
结果是:
- RAILS_ENV=production rake db:migrate - 由于缺少初始数据而失败
- RAILS_ENV=production rake db:seed - 由于未决迁移而失败
我想以某种方式告诉 rake 忽略挂起的迁移,但到目前为止无法做到。
更新(由于额外的经验)
有时迁移和模型代码不同步,因此迁移不会运行。 为了避免这个问题,最近在迁移中使用了模型的重新定义:
# reset all callbacks, hooks, etc for this model
class MyAwesomeModel < ActiveRecord::Base
end
class DoSomethingCool < ActiveRecord::Migration
def change
...
end
end
最佳答案
我不太确定这是否对您有帮助。但是我正在寻找一些东西并发现了这个问题。所以看起来这可能会有所帮助:
在 RAILS_ROOT/config/environments/development.rb 将以下设置设置为 false:
# NOTE: original version is `:page_load`
config.active_record.migration_error = false
在我的情况下,它现在不再显示挂起的迁移错误。应该也适用于相同环境的 rake 任务和控制台。
关于ruby-on-rails - ActiveRecord 如何忽略挂起的迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20244244/