有关迁移文件的最佳做法

时间:2015-01-23 14:22:57

标签: ruby-on-rails rails-migrations

我现在正在考虑将db/migrate文件夹添加到.gitignore文件中。

由于迁移可能以某种方式混合/混乱,因此通常建议在开始处理正在进行的项目时依靠schema.rb,而不是逐个运行迁移。

从repo中排除迁移文件并依赖rake db:setup

是不是一个好主意

2 个答案:

答案 0 :(得分:4)

如果您是单一开发人员,或者您依赖db:setupdb:seed代表团队的所有成员,则可以。

但是,如果您计划将应用程序部署到生产服务器,则实际上不应该这样做,因为迁移是在此处使用目标计算机的实际架构版本相应地更新架构。有了它们,只需应用权限更改。没有它们,仅依靠schema.rb将强制完全重置数据库,清空它。而这在生产服务器上并不是我们最想要的。

此外,迁移是编码时数据库状态的有用参考,它们有助于以比schema.rb更易读的方式快速查找每个模型的字段列表。

如果您从未将应用程序部署到生产服务器,并且您是单个开发人员(或者如果其他开发人员同意),则可以通过在原始{add_field ...中集成所有更改来重构迁移。 {1}}迁移

答案 1 :(得分:2)

我强烈建议您提交所有迁移文件,从db / migrate和schema.rb提交

这个答案会有所帮助:What is the right approach to deal with Rails db/schema.rb file in GIT?

同时:http://ryanbigg.com/2010/12/commit-it-or-else/