使用Git时如何处理Doctrine Migrations?

时间:2011-04-18 20:13:48

标签: git doctrine database-migration

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

例如

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

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

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

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

2 个答案:

答案 0 :(得分:1)

由于分支到isolate a development effort,如果你问一个依赖于几个分支的任务,那么所述分支就会挡住。
在部署分支中合并所有这些分支可能更好,以便可视化Doctrine的相关文件。

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

  

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

     

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

NDM补充道:

  

在分支系统中无法正确执行顺序迁移

答案 1 :(得分:0)

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

migrations:diff

它将为你创建一个新的Db迁移,你就在游戏中。