ruby-on-rails – schema.rb由于其他分支中的迁移而搞砸了

目前,我正在使用一个巨大的rails应用程序和多个分支,每个应用程序都有一个功能.
它发生很多功能将需要迁移,这不应该是一个问题,直到您将其与主机合并:schema.rb已更新与您的开发人员数据库的信息!

澄清:

1. Branch A has migration create_table_x
2. Branch B has migration create_table_y
3. Branch A adds another create_table_z and runs db:migrate
4. You want to merge Branch A with Master and you see table_x,table_y and table_z in the schema.rb of Branch A.

在分支中的每次迁移之前重置数据库种子,或者每个分支创建数据库不是一个选择.由于2 GB的sql数据的巨大的大小,它将不可行.

我的问题:

每次迁移重建后,是否真的需要将schema.rb保存在存储库中?

如果是这样,是否可以构建迁移而不是数据库转储的模式?

解决方法

您应该将架构保留在您的回购中.运行迁移将在您的schema.rb文件中修复合并冲突.
我的简单介绍你的问题

>是否需要?不是真的,而是良好的做法.

“It’s strongly recommended to check this file into your version
control system.” -schema.rb

有可能吗是的,但你可能想问自己,如果你真的保存任何时间这样做,手动或建立模式,你的迁移在其他地方推入它.

您使用的附加益处

rake db:schema:load

rake db:schema:dump

http://tbaggery.com/2010/10/24/reduce-your-rails-schema-conflicts.html

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...