是否可以从之前的所有迁移中创建单个迁移,以便它具有rake db:schema:load
的效果?我有很多无用的迁移(在模型之间来回传递)。
答案 0 :(得分:1)
您可以从生成的db/schema.rb
中获取代码,并从中进行迁移 - 删除旧的迁移。
然而我建议你不要这样做。
您应该保留原始的“混乱”迁移,它们代表您的数据库架构版本与源代码版本控制同步。其他感知清洁代码没有任何价值。不仅如此,它实际上是一种价值损失,因为你丢失了一些代码历史记录,当分析代码时,历史记录是有意义的 - 也许有人会调试某些东西等。
答案 1 :(得分:0)
这取决于你的项目。如果你是唯一的人,并且你知道你可以放弃一些迁移,那么它可能就可以了。
但是,只有当你有一段时间create_posts
然后remove_posts
之后才会出现这种情况。
无论如何,我建议不要这样做,因为迁移是数据库的版本控制管理,特别是如果它是一个多人项目。这有点像尝试合并旧提交为了让你的git日志更清洁。在某些情况下它可能没问题,但它可能会造成比它值得多的麻烦。