普遍的共识是,在迁移时,您应该将schema.rb检查为版本控制。
What is the right approach to deal with Rails db/schema.rb file in GIT?
我的问题是 - 如果我的高级开发人员创建了一个迁移&检查schema.rb,我把repo拉下来并在我的端子上进行迁移,它显示了schema.rb已被更改 - 我是否还提交了我的schema.rb版本并将其检入版本控制中?
答案 0 :(得分:3)
理论上,在您进行迁移后,您的schema.rb
应与Senior Dev已提交的schema.rb
相同。如果不是,则发生以下两件事之一:
schema.rb
schema.rb
以一致的方式记录(迁移的许多创造性用途可能导致此问题,更不用说错误了。)你应该仔细检查一下,高级开发人员在运行迁移后实际上已经提交了schema.rb
。如果他们有,你应该丢弃你的schema.rb
版本的更改,以支持他们的。{1}}。如果他们没有,那么你应该提交{{1}}版本,有效地纠正他们的错误。
答案 1 :(得分:1)
是的,您应该签入schema.rb
版本。这将确保整个团队正在使用相同的版本。只要对架构进行了新的更改,就应该进行合并。您对改变数据库的项目的贡献仍然是对产品的贡献,因此需要签入。
合并的具体过程可能因团队而异。有些团队有一个处理这些事情的QA团队,其他团队有一个处理这些东西的部署团队。但是,案例通信是关键。尝试让您的高级开发人员参与您的架构更改。