Doctrine 2 - Multiple databases configuration and use
You need to add another level of configuration and also use multiple entity managers as Doctrine uses 1 entity manager per database connection .. your configuration might look something like this :
doctrine: dbal: connections: default: driver: %database_driver% # < host: %database_host% # | port: %database_port% # | Defined in dbname: %database_name% # | parameters.ini user: %database_user% # | password: %database_password% # < another: driver: %database2_driver% # < host: %database2_host% # | port: %database2_port% # | Defined in dbname: %database2_name% # | parameters.ini user: %database2_user% # | password: %database2_password% # <
Then you define your multiple entity managers as so
doctrine: orm: default_entity_manager: default entity_managers: default: connection: default mappings: AcmeDemoBundle: ~ AcmeStoreBundle: ~ another: connection: another mappings: AcmeCustomerBundle: ~
then in your action you can use the following to get the correct entity manager :
$em = $this->get('doctrine')->getEntityManager('default');$em = $this->get('doctrine')->getEntityManager('another');
depending on which entity manager you required