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

Ruby on rails 更改现有迁移还是生成新迁移?,ruby-on-rails,activerecord,migration,ruby-on-rails-5,Ruby On Rails,Activerecord,Migration,Ruby On Rails 5,我的项目有100多个迁移,主要是因为东西被引入、删除,然后又重新引入。我有很多对我来说毫无用处的东西。 此外,rails在运行迁移时开始添加弃用警告: 弃用警告:#时间戳未指定 null的选项。在Rails 5中,此行为将更改为null: 错误。您应该手动指定null:true,以防止 现有迁移的行为将不会发生更改 我想为了避开上述警告,我需要编辑迁移文件。写新的迁移(基于我当前的模式)会不会是个坏主意,因为我的迁移历史已经一团糟了? 你可能会说迁移会记录历史上发生的事情,但我不是已经有了git

我的项目有100多个迁移,主要是因为东西被引入、删除,然后又重新引入。我有很多对我来说毫无用处的东西。 此外,rails在运行迁移时开始添加弃用警告:

弃用警告:
#时间戳
未指定
null的选项
。在Rails 5中,此行为将更改为
null:
错误
。您应该手动指定
null:true
,以防止 现有迁移的行为将不会发生更改

我想为了避开上述警告,我需要编辑迁移文件。写新的迁移(基于我当前的模式)会不会是个坏主意,因为我的迁移历史已经一团糟了?
你可能会说迁移会记录历史上发生的事情,但我不是已经有了git吗?

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


希望这能有所帮助。

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

希望这有帮助