【发布时间】:2014-10-11 15:51:57
【问题描述】:
我在使用 Symfony2 和 Doctrine 对非默认数据库进行数据库迁移时遇到了一些麻烦。
我正在使用两个数据库和两个实体管理器。我有两个包,每个包都可以与相应的 EM 配合使用,所以一切都应该完全分开。
在我的 DefaultBundle 下,我进行了大约 20 个迁移文件的迁移,这些迁移文件都适用于默认数据库。我的 SecondBundle 有一个适用于 seconddb 的迁移文件。
当我尝试跑步时
php app/console doctrine:migrations:migrate --no-interaction --em="second"
我来了
Migration 20140709212101 failed during Execution. Error There is no table with name 'second_database.users' in the schema.
[Doctrine\DBAL\Schema\SchemaException]
There is no table with name 'second_database.users' in the schema.
完全正确,“用户”是我的主数据库中的一个表。这里发生的情况是,它尝试运行的迁移文件实际上是 DefaultCore 中 20 个文件中的第一个(它们都是旧的并且已经应用)。因为我已经指定了 --em 它是交叉迁移,所以我不想针对我正在使用的数据库运行。似乎没有另一个命令行选项来指定捆绑包,就像其他迁移命令(如生成)一样。我想忽略 DefaultBundle,只从我的 SecondBundle 运行我的迁移。
【问题讨论】:
-
这个does not look like it is supported, but there is hope。你应该试试 pvanlieflands 叉
标签: symfony doctrine-orm