Rails迁移更改顺序或顺序

我为Rails 3应用程序编写了一些迁移,但我想更改迁移的顺序。 如何更改迁移顺序或顺序? 是否像使用似乎是时间戳的重命名迁移文件一样简单?

我知道这是一个奇怪的问题,但基本上,我弄乱了我的迁移并删除了一些旧的迁移,现在我需要在创建一个新的表之前删除一个表。 我也知道我可以在create-the-new-table迁移中包含drop语句,但我很想知道如何重新排序迁移。

是的,它运行尚未按前缀顺序运行的迁移。 在早期版本的rails中,可能是2.12.2 ,它们曾经从01开始编号,但它们切换到时间戳。

有一个表可以跟踪运行的迁移。 意图是,多个开发人员已经添加了迁移,并在稍后的版本控制中检查它们。 因此,可能存在尚未运行的迁移,但是在已运行的最高编号迁移之前编号。

如果您更改了迁移顺序(我已经),那么在重新排序所有迁移之前,最好首先关闭版本。 在db:migrate使用VERSION选项。 如果要保留的最高编号迁移(不运行向下)是20120318143249 ,请按这种方式调用它。

 rake db:migrate VERSION=20120318143249 

我经常在迁移中运行,并重新运行它,直到我得到满意的迁移细节。 有时我会重新订购它们,当我想在其中一个上工作时,我希望它是最后一个。

是的,文件名的前缀决定了执行的顺序。 但是,请记住,如果您擦除数据库/重新开始,这只会更改当前系统。