Ruby on rails 在每个git分支中保持Rails'`schema.rb`的分隔?

Ruby on rails 在每个git分支中保持Rails'`schema.rb`的分隔?,ruby-on-rails,git,rake,Ruby On Rails,Git,Rake,使用Rails和Git,如果我在一个分支中运行迁移,那么表现在就在数据库中。现在,如果我签出了一个不希望迁移的分支,那么表仍然会提交到schema.rb,因为它会从数据库中转储 有没有办法防止模式从数据库中转储?例如,是否可以通过运行迁移而不是从数据库转储表来生成模式?这对我和我公司的其他人来说真的很烦人。当你切换分支时,要么创建一个全新的数据库并加载一个空模式,要么回滚迁移到公共anscestor,然后在新分支中再次向上迁移 有一些工具和脚本可以帮助实现这一点,但我没有亲自使用过任何工具和脚本

使用Rails和Git,如果我在一个分支中运行迁移,那么表现在就在数据库中。现在,如果我签出了一个不希望迁移的分支,那么表仍然会提交到schema.rb,因为它会从数据库中转储


有没有办法防止模式从数据库中转储?例如,是否可以通过运行迁移而不是从数据库转储表来生成模式?这对我和我公司的其他人来说真的很烦人。

当你切换分支时,要么创建一个全新的数据库并加载一个空模式,要么回滚迁移到公共anscestor,然后在新分支中再次向上迁移

有一些工具和脚本可以帮助实现这一点,但我没有亲自使用过任何工具和脚本,因此我无法为它们提供担保。以下是我在谷歌搜索后发现的一对:

模式文件更改只是真正问题的症状:rails正在从数据库的模式动态地构建模型的属性。将schema.rb文件放在地毯下是不够的,因为rails仍将基于数据库对您的模型进行假设,该数据库对您当前工作的分支具有不正确的模式