我现在正在考虑将db/migrate
文件夹添加到.gitignore
文件中。
由于迁移可能以某种方式混合/混乱,因此通常建议在开始处理正在进行的项目时依靠schema.rb
,而不是逐个运行迁移。
从repo中排除迁移文件并依赖rake db:setup
?
答案 0 :(得分:4)
如果您是单一开发人员,或者您依赖db:setup
和db: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?