更改现有迁移还是生成新迁移?

时间:2016-02-07 04:14:31

标签: ruby-on-rails activerecord migration ruby-on-rails-5

我的项目有100多次迁移,主要原因是引入,删除然后再引入。即我有很多迁移对我来说没用。 此外,rails在运行迁移时开始添加弃用警告:

  

弃权警告:在未指定的情况下调用了#timestamps   null的选项。在Rails 5中,此行为将更改为null: false。您应该手动指定null: true以阻止   现有迁移的行为发生变化。

我想要绕过警告,我需要编辑迁移文件。编写新的新迁移(根据我当前的架构)是不是一个坏主意,因为我的迁移历史已经搞砸了? 你可能会说迁移会记录历史上发生的事情,但是我不是已经有了git吗?

1 个答案:

答案 0 :(得分:2)

对于积极开发应用程序一段时间的Rails程序员来说,这是一个常见问题。我的小组遵循的做法是,当我们确信我们将永远不会回滚到迁移#X时,我们将回滚我们打算保留的最近迁移,将生成的db/schema.rb复制为我们的新的“初始迁移”,然后在初始之后保留新的。这将使您免于这些弃用警告,并将减轻您的代码库和存储库。

希望这有帮助。