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