3
我在config.yml和两个实体管理器中有两个数据库连接。每个都捆绑在一起。Symfony2原则:架构:使用多个实体管理器更新
我遇到的问题是运行单元测试,首先创建一个空白数据库并加载数据。它创建了两个数据库,但是我在每个数据库中都获得了两组表,而不是一组数据库中的一组实体,而另一组则是一组。由于两个数据库连接并不是非常常见,所以我无法在此找到一些帮助。
doctrine:
dbal:
default_connection: default
...
connections:
default:
(conectioninfo)
seconddb:
(connectioninfo)
orm:
default_entity_manager: default
auto_generate_proxy_classes: "%kernel.debug%"
entity_managers:
default:
connection: default
mappings:
MycompanyCoreBundle: ~
seconddb:
connection: seconddb
mappings:
MycomanySecondBundle: ~
当运行单元测试,我有行是:
php app/console doctrine:database:drop --force --env=test --connection=default
php app/console doctrine:database:create --env=test --connection=default
php app/console doctrine:schema:drop --force --no-interaction --env=test --em=default
php app/console doctrine:schema:update --force --no-interaction --env=test --em=default
php app/console doctrine:database:drop --force --env=test --connection=seconddb
php app/console doctrine:database:create --env=test --connection=seconddb
php app/console doctrine:schema:drop --force --no-interaction --env=test --em=seconddb
php app/console doctrine:schema:update --force --no-interaction --env=test --em=seconddb
当运行这一切时,输出是
Successfully deleted cache entries.
Dropping database schema...
Database schema dropped successfully!
Updating database schema...
Database schema updated successfully! "91" queries were executed
的问题是,那些91个查询是一个组合两个实体文件夹中的两个包。我错过了一个地方分别指出他们,所以他们进入他们各自的数据库。
可能不会帮助,但用一个模式替换架构drop/update:create。 – Cerad 2014-09-05 18:19:26
连接:流应该连接:seconddb? – Cerad 2014-09-05 18:22:28
是的,它是seconddb。我上面的例子是从真实代码中截取的,我正在改变一些名字。 schema:create确实保存了两个步骤但结果相同,所有表都混合并放入两个数据库中。 – 2014-09-07 00:28:10