【发布时间】:2009-04-10 14:48:08
【问题描述】:
我不想将schema.rb 添加到.gitignore,因为我希望能够从该文件加载新的数据库架构。但是,将其签入会导致各种虚假冲突,而新的db:migrate:reset 可以轻松解决这些冲突。
基本上我想要一种方法:
- 将 schema.rb 保存在存储库中,用于部署时数据库设置
- 将 schema.rb 保留在 '.gitignore' 中以用于一般开发
会有一两个人负责更新schema.rb并知道它是正确的。
有没有办法让我的蛋糕也吃掉?
【问题讨论】:
-
为什么会有冲突?其他开发者有不同的架构吗?
-
开发者 A 添加一个迁移,测试他的东西。开发人员 B 添加了另一个迁移,测试他的东西。我合并了他们两个。至少它在 schema.rb 的 :version 上发生冲突。
-
db:migrate:resetdestroy 你的所有数据不好吗? -
@morefromalan 真的,冲突的问题是懒惰的“其他人”,他们甚至不会在提交文件之前解决冲突。我想这可以为人事问题提供技术解决方案,但至少它有效。 :)
标签: ruby-on-rails git workflow schema.rb