在Rails中切换分支时如何忽略数据库模式更改?

时间:2015-04-10 22:02:52

标签: git ruby-on-rails-4 branching-and-merging

我正在开发一个大型RoR应用程序,它需要在多个分支中分割工作,每个分支都有不同的模式。

在分支之间切换时,有没有办法忽略架构更改?

添加.gitignore不是一个好方法,因为合并会失败。

如果你正在与很多分支机构合作,那么每个分支机构都有不同的数据库可能会很痛苦。

任何人对如何解决这个问题都有任何想法?

1 个答案:

答案 0 :(得分:1)

如果您正在处理的不仅是添加新字段和表,而是进行主要架构更改,您可以添加和迁移功能分支的所有构造性更改,而不会破坏初始中定义的架构的表和列。科。然后,当测试更改并在功能分支上按预期工作时,您可以添加迁移以删除不需要的额外列和表。

或者,如果您习惯使用测试而不是在dev db中使用预设种子数据并在控制台中黑客攻击以查看代码是否有效,则可以在功能分支上添加所有迁移但仅迁移测试数据库bin/rake db:migrate RAILS_ENV=test。但是,假设在合并您一直在进行的更改之前,您不需要在原始分支上运行测试套件。希望这能为您提供一些选择。