我有一个 Zend Framework/Doctrine 1.2 项目,它由git
. 在 git 中从分支切换到分支时如何跟踪迁移类?
例如
在分支 A我有一个迁移类文件 (038_version.php)
在分支 B我有一个迁移类文件 (039_version.php)
Doctrine 将根据文件名顺序应用迁移,因此我必须在分支 B 之前推出分支 A 中的功能才能使 Doctrine 迁移工作。
我是否应该将所有迁移保留在自己的分支中并在上线之前更改数字?
我有一个 Zend Framework/Doctrine 1.2 项目,它由git
. 在 git 中从分支切换到分支时如何跟踪迁移类?
例如
在分支 A我有一个迁移类文件 (038_version.php)
在分支 B我有一个迁移类文件 (039_version.php)
Doctrine 将根据文件名顺序应用迁移,因此我必须在分支 B 之前推出分支 A 中的功能才能使 Doctrine 迁移工作。
我是否应该将所有迁移保留在自己的分支中并在上线之前更改数字?
由于有一个分支来隔离开发工作,因此如果您询问依赖于多个分支的任务,则所述分支会妨碍您。
最好将所有这些分支合并到一个部署分支中,以便可视化相关文件以供 Doctrine 处理。
NDM请指出“复杂分支系统中的数据库迁移”以更好地说明 OP 的问题:
你可以让它适用于简单的分支模式,但对于任何复杂的东西,这将是一场噩梦。
我现在使用的系统采用了不同的方法:我们无法进行增量迁移,只能从基线重建数据库
NDM 补充说:
在分支系统中正确地进行顺序迁移是不可能的
如果您有这种情况,您将永远不会有同步的分支。此外,如果您有像上线一样干净的数据库,则不需要迁移,只需在实时站点上删除它们,然后运行
migrations:diff
它会为你创建一个新的数据库迁移,你就在游戏中。