轨道迁移更改顺序或顺序



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

我知道这是一个奇怪的问题,但基本上,我把我的迁移弄得一团糟,删除了一些旧的迁移,现在我需要在创建新表之前删除一个表。我也知道我可以在创建新表迁移中包含 drop 语句,但我很好奇知道如何对迁移进行重新排序。

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

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

如果您更改迁移顺序,(我有(最好在重新排序的所有迁移之前先降低版本。 将"VERSION"选项与 db:migrate 一起使用。 如果要保留(而不是运行(的最高编号迁移是20120318143249,则以这种方式调用它。

rake db:migrate VERSION=20120318143249
我经常运行迁移,

然后重新运行它,直到我满意地获得迁移的详细信息。 有时我会重新排序它们,当我想处理其中一个时,我希望它是最后一个。

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

我遇到了类似的问题,因为迁移没有以正确的顺序进行。在阅读了米奇的回答后,我决定重命名迁移以按照我需要的方式对日期进行排序。在此修复后,我运行了rails db:migrate并且它起作用了。不是最优雅的解决方案,但它有效,所以我想我会分享它。

相关内容

  • 没有找到相关文章

最新更新