【问题标题】:How do you handle Doctrine Migrations when using Git?使用 Git 时如何处理 Doctrine 迁移?
【发布时间】:2011-08-08 04:16:23
【问题描述】:

我有一个由git 源代码控制的 Zend Framework / Doctrine 1.2 项目。在 git 中从分支切换到分支时如何跟踪迁移类?

例如

branch A我有一个迁移类文件(038_version.php)

branch B我有一个迁移类文件(039_version.php)

Doctrine 将根据文件名按顺序应用迁移,因此我必须在分支 B 之前推出分支 A 中的功能,以使 Doctrine 迁移工作。

我是否应该将所有迁移保留在自己的分支中并在上线前更改数字?

【问题讨论】:

    标签: git doctrine database-migration


    【解决方案1】:

    因为isolate a development effort 有一个分支,如果你问一个依赖于多个分支的任务,则说分支是在路上。
    最好将所有这些分支合并到一个部署分支中,以便可视化相关文件以供 Doctrine 处理。

    NDM 请指出“Database migrations in a complex branching system”以更好地说明 OP 的问题:

    你可以让它适用于简单的分支模式,但对于任何复杂的东西,这将是一场噩梦。

    我现在使用的系统采用了不同的方法:我们无法进行增量迁移,只能从基线重建数据库

    NDM 补充:

    只是不可能在分支系统中正确地进行顺序迁移

    【讨论】:

    • 这没有回答问题。在分支系统中正确执行顺序迁移是不可能的......另请参阅stackoverflow.com/questions/6409204/…
    • 当 OP 更新了他的答案时,我还想指出,该帖子的接受答案并不是最好的,他的系统只是将问题转移到其他地方。真正的结论是:不可能。
    【解决方案2】:

    如果您遇到这种情况,您将永远不会有同步的分支。此外,如果您有像上线一样干净的数据库,则不需要迁移,只需在实时站点上删除它们,然后运行

    migrations:diff
    

    它会为你创建一个新的 Db 迁移并且你在游戏中。

    【讨论】:

      猜你喜欢
      • 2020-11-13
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      • 2019-12-18
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      相关资源
      最近更新 更多