symfony + ORM(推进)的企业级实践

时间:2014-08-23 15:04:44

标签: symfony propel enterprise

在某种情况下,是否存在symfony + propel的标准方式来管理对数据库模型的更改

  • 该应用程序有许多单独的变体(每个特定自定义一个):

    core application: code + datamodel
    |- variant1: specific code + specific datamodel changes
    |- variant2: specific code + specific datamodel changes
    ...
    
  • 多个开发人员在应用程序的不同部分工作,因此也在数据模型的不同部分工作

问题发生,例如当数据模型的某些部分是相互依赖的(外键)时,开发人员编写迁移并监督这些内部依赖性。并且由于变体彼此平行,因此变得越来越困难并且容易出错并且难以保持迁移和写入迁移。

我知道这是一个管理层的全部,但我想知道是否有自动化?方式( - 或完全不使用推进或使用颠覆等进行检查)确保问题减少,理想情况下为零。

基本上,我想知道是否有企业级实践/标准使用symfony和ORM (对于symfony 1.4或2;推进)管理多个开发人员+应用程序的多个变体?

谢谢:)

1 个答案:

答案 0 :(得分:0)

Propel2支持并行迁移,这意味着您可以在不同的开发分支中拥有不同的迁移文件。

因此,您只是像往常一样根据您的更改和新代码创建迁移文件,并提交所有这些内容,这些内容基本上会导致branchA中的某些迁移文件和branchB中的其他迁移文件。当分支机构合并为主分支时,您只需在主服务器上调用migrate:migrate命令即可。

当你从branchB切换到branchA时,你需要确保在branchB中降级迁移,直到你拥有与branchA相同的基础。然后将分支切换到branchB并执行迁移:migrate。