提交schema.rb的正确方法

时间:2014-04-11 16:33:41

标签: ruby-on-rails ruby ruby-on-rails-3 git

普遍的共识是,在迁移时,您应该将schema.rb检查为版本控制。

What is the right approach to deal with Rails db/schema.rb file in GIT?

我的问题是 - 如果我的高级开发人员创建了一个迁移&检查schema.rb,我把repo拉下来并在我的端子上进行迁移,它显示了schema.rb已被更改 - 我是否还提交了我的schema.rb版本并将其检入版本控制中?

2 个答案:

答案 0 :(得分:3)

理论上,在您进行迁移后,您的schema.rb应与Senior Dev已提交的schema.rb相同。如果不是,则发生以下两件事之一:

  • 高级开发者实际上忘了提交schema.rb
  • 迁移进行的更改未由schema.rb以一致的方式记录(迁移的许多创造性用途可能导致此问题,更不用说错误了。)

你应该仔细检查一下,高级开发人员在运行迁移后实际上已经提交了schema.rb。如果他们有,你应该丢弃你的schema.rb版本的更改,以支持他们的。{1}}。如果他们没有,那么你应该提交{{1}}版本,有效地纠正他们的错误。

答案 1 :(得分:1)

是的,您应该签入schema.rb版本。这将确保整个团队正在使用相同的版本。只要对架构进行了新的更改,就应该进行合并。您对改变数据库的项目的贡献仍然是对产品的贡献,因此需要签入。

合并的具体过程可能因团队而异。有些团队有一个处理这些事情的QA团队,其他团队有一个处理这些东西的部署团队。但是,案例通信是关键。尝试让您的高级开发人员参与您的架构更改。