更新功能分支中的迁移时间戳

时间:2011-05-31 04:15:45

标签: ruby-on-rails git rails-migrations git-flow

假设我的主分支(devlop)和我的功能分支都有活跃的开发。两者都在不断添加迁移。在将功能分支合并到主分支之前,我将把它重新绑定到主分支上。

因此,在最近的开发分支迁移之后,所有功能分支迁移才有意义。

是否有方便/建议的方式来重命名这些文件?我可以生成虚拟迁移并重用为它们生成的时间戳 - 但我想知道是否有一个我不了解的最佳/常见做法?

2 个答案:

答案 0 :(得分:1)

我还没有找到一个rails功能为你做这个,但是有一个migration touch命令或其他东西会很好。无论如何,我们现在所做的只是生成一个新的迁移,复制时间戳并重命名旧的迁移。通常,迁移是独立的,订单并不重要,但有时我们会遇到订单依赖,因此我们需要更新时间戳。

答案 1 :(得分:0)

正如您对问题的评论所述,无需更改文件名。

还有人提到,在存在其他迁移之前,根据其他迁移,通常不会编写迁移。 (如果确实如此,那么你做得不对劲)。所以不应该出现这种需要。

在极少数情况下,功能开发人员想要合并多个迁移(在功能迁移之间存在主干迁移),他应该将这些迁移合并到一个新的(或最后一个)迁移中。无论如何,功能开发人员有责任确保满足依赖性。

这样做也可能会给其他开发者带来一些恼人的副作用。由于schema_migrations中的时间戳不可用,因此相同的迁移将在其数据库上再次运行。