【问题标题】:Enterprise grade practices for symfony + ORM(propel)symfony + ORM(propel) 的企业级实践
【发布时间】:2014-08-23 15:04:44
【问题描述】:

在 symfony + propel 中是否有标准的方法来管理数据库模型的更改

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

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

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

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

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

谢谢:)

【问题讨论】:

    标签: symfony propel enterprise


    【解决方案1】:

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

    因此,您只是像往常一样根据您的更改和新代码创建迁移文件,并提交所有这些内容,这基本上会导致在分支 A 中有一些迁移文件,而在分支 B 中有一些迁移文件。当一个分支将被合并到 master 时,您只需在 master 上调用 migrate:migrate 命令即可。

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

    【讨论】:

    • 谢谢。听起来不错。你能给我指出这方面的正确文档吗?
    猜你喜欢
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多