导轨迁移改变的顺序或次序(Rails migration change sequence or or

2019-09-17 01:04发布

我写了几个迁移为我的Rails 3应用程序,但我想改变迁移的顺序。 我怎样才能改变迁移顺序或序列? 它是那样简单重命名与什么似乎是时间戳迁移文件?

我知道这是一个奇怪的问题,但基本上,我做了我的迁移很乱,去掉了一些老移民,现在我需要创建一个新的人之前删除表。 我也知道我可以包括在创建最新表迁移drop语句,但我很好奇,想知道如何重新排序迁移。

Answer 1:

是的,它运行还没有前缀的顺序被执行的迁移。 在早期版本的轨道,也许2.12.2 ,他们用开始进行编号01 ,但他们改用时间戳。

这里是保持它的迁移已经运行轨迹的表。 意图是,多个开发商我增加了迁移,并在版本控制检查他们以后。 因此,有可能是还没有运行,但已运行编号最高的迁移之前编号为迁移。

如果你改变迁移顺序,(我有),最好是先下所有的迁移之前的版本,你是重新排序。 使用VERSION与选项db:migrate 。 如果你想保留(不运行下)编号最高的迁移是20120318143249 ,这样调用它。

rake db:migrate VERSION=20120318143249

我经常运行迁移下来,并重新运行它,直到我得到迁移的细节让我满意。 有时候,我重新整理它们,当我想对他们的一个工作,我希望它是最后一次。



Answer 2:

是的,在文件名前缀是什么决定执行顺序。 但是,请记住,如果你擦DB /重新开始,这只会改变你当前的系统。



文章来源: Rails migration change sequence or order