如何处理bundle中的doctrine迁移

时间:2013-10-25 05:41:48

标签: symfony doctrine-orm migration

我正在使用Symfony 2.3开发一个应用程序,它必须为不同的客户安装。我们将提供不同的功能,因此我们的想法是将功能/捆绑包与主应用程序分开,并使用composer将其加载到项目中。由于我们使用Doctrine Migrations来维护不同版本的数据库更改,因此我不确定如何从捆绑包中使用它们。我们使用Capifony将应用程序部署到实时服务器。

所以我的问题是......如何从编写器加载的包中自动执行迁移?

3 个答案:

答案 0 :(得分:5)

我最终创建了一个命令,将所有迁移文件从捆绑包中的预定义目录复制到默认位置,然后执行doctrine:migration:从命令中迁移。

答案 1 :(得分:2)

对于复杂的部署,我使用了phing。他可以轻松地与Symfony控制台集成。但最后我在Synfony控制台上使用了一个简单的代码。 Composer可以轻松地将Symfony app命令称为“post-install-cmd”

答案 2 :(得分:1)

我不认为“composer loaded bundles”是这里的问题。例如,您可以在src/(应用程序的一部分或子模块)中拥有多个捆绑包,并且具有完全相同的问题。问题是为您的不同捆绑包提供多个实体管理器和数据库。他们实际居住的地方是微不足道的。

无论如何,我遇到了完全相同的问题。经过一些搜索,我发现实际上有一个打开拉取请求来解决这个问题:https://github.com/doctrine/DoctrineMigrationsBundle/pull/46

我希望很快得到修复!