gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:57:36 25 4
gpt4 key购买 nike

目前,我正在使用一个巨大的 Rails 应用程序和多个分支,每个分支都有这个应用程序的新功能。
很多情况下,一个特性需要迁移,这应该不是问题,直到你将它与 master 合并: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 保留在存储库中,因为每次迁移都会重建它?

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

最佳答案

您应该将架构保留在您的 repo 中。运行迁移将为您修复 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

    关于ruby-on-rails - 由于其他分支的迁移,schema.rb 搞砸了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16434692/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com