RAILS:编辑旧的迁移文件以解决ActiveRecord :: IrreversibleMigration

时间:2017-01-16 10:05:28

标签: ruby-on-rails activerecord migration

我有一些包含更改方法的旧迁移文件。执行ActiveRecord::IrreversibleMigration时,他们会给$location,我可以将迁移更改为具有上下方法,这可以解决本地计算机上的错误,但这是一个好主意还是会导致问题?例如,在部署到生产时?

解决此问题的正确方法是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

经验法则是:在以下情况下更改旧的迁移:

  1. 它从未在其他任何地方运行过(例如,您是唯一的开发者,尚未部署)
  2. 它已经在生产中运行
  3. 我个人希望所有迁移都能在本地计算机上的任何位置工作,以便在出现问题时我可以执行:

    rake db:drop && rake db:create && rake db:migrate
    

    我看到的唯一问题是,当您更改迁移会显着改变架构时。然后,您最终会在生产和开发中使用不同的模式。这可能会导致调试和错误修复问题。