我们有很多数据库迁移文件 – 我们应该保留它们吗?

我们有大约100个数据库迁移文件。 他们中的许多人进行了不可逆转的架构更改。 稍后还有一些迁移可以更改或删除在早期迁移中创建的表。

我们是直接从schema.rb文件创建新数据库,所以我们想知道是否有任何理由保留完整的迁移集?

我们将创建一个基于现有schema.rb的新迁移。

是的,您提出的建议被视为最佳做法。

我已经使用我的旧应用程序多次这样做了。 您希望将迁移备份到某个地方,直到您对一切都很满意为止,当然,这是应用程序维护的一个重要部分 – 如果您有大量旧迁移,则可能需要永远执行db:reset或者让新的开发环境运行。

我使用rake db:setuprake db:reset (从不rake db:migrate )来在生产服务器或新开发机器上安装新数据库。 这些命令已使用schema.rbstructure.sql重新创建数据库。

也就是说,制作schema.rb的副本非常容易,将其用作新的起点并删除所有旧的迁移。

我更喜欢将我的迁移用于历史目的,但这是一个品味问题。