折叠以前的rails迁移

时间:2011-12-17 21:16:20

标签: ruby-on-rails schema rails-migrations

是否可以从之前的所有迁移中创建单个迁移,以便它具有rake db:schema:load的效果?我有很多无用的迁移(在模型之间来回传递)。

2 个答案:

答案 0 :(得分:1)

您可以从生成的db/schema.rb中获取代码,并从中进行迁移 - 删除旧的迁移。

然而我建议你不要这样做

您应该保留原始的“混乱”迁移,它们代表您的数据库架构版本与源代码版本控制同步。其他感知清洁代码没有任何价值。不仅如此,它实际上是一种价值损失,因为你丢失了一些代码历史记录,当分析代码时,历史记录是有意义的 - 也许有人会调试某些东西等。

答案 1 :(得分:0)

这取决于你的项目。如果你是唯一的人,并且你知道你可以放弃一些迁移,那么它可能就可以了。

但是,只有当你有一段时间create_posts然后remove_posts之后才会出现这种情况。

无论如何,我建议不要这样做,因为迁移是数据库的版本控制管理,特别是如果它是一个多人项目。这有点像尝试合并旧提交为了让你的git日志更清洁。在某些情况下它可能没问题,但它可能会造成比它值得多的麻烦。