rub*_*nce 39 git ruby-on-rails
我们应该schema.rb
在提交给GIT的时候加入吗?还是应该忽略它?什么是正确的方法?
mu *_*ort 62
那么schema.rb
Rails 2 的标准文件在文件顶部的注释块的末尾有这个:
# It's strongly recommended to check this file into your version control system.
Run Code Online (Sandbox Code Playgroud)
schema.rb
我踢的Rails 3 也说了同样的话.我认为评论说明了一切.
更新以回应评论:
是的,可以犯错误,您可以获得相互冲突的更改和错误,schema.rb
但这就是您希望它在版本控制下的原因,修订控制允许您跟踪所有内容并在需要时进行备份.整个源代码树中只有一件事指定了您的数据库架构schema.rb
.您的数据库模式绝对是一个关键工件,需要在修订控制中跟踪任何重要的工件.
任何更新/合并问题schema.rb
都应该通过整理您的冲突迁移进行整理,因此schema.rb
将修复为修复真实问题的副作用.
是的,schema.rb
是生成的文件,但它只是在文本编辑器生成pancakes.rb
模型文件或生成未编辑的脚手架文件的意义上生成的.
是的,您可以schema.rb
通过构建新数据库然后运行所有迁移来重建文件.但是,您应该立即清除旧的迁移,以避免每次都要检查数百个迁移文件,rake db:migrate
因此"重建并运行所有迁移"通常不是高活动项目中的选项.