Предположим, у вас есть Bundle, который использует базу данных MySQL, которая находится внутри папки в каталоге src, например:
src/Folder/BundleFolder/
И еще один Bundle, который использует базу данных Postgresql, которая находится в вашем каталоге src, скажем:
src/OtherBundle
Чтобы отобразить доктрину для определенных менеджеров сущностей, используйте это conf в вашем файле app / config / config.yml:
orm:
#auto_mapping: true
#default_entity_manager: default
entity_managers:
default:
connection: mysql
mappings:
FolderBundleFolder : ~
other:
connection: pgsql
mappings:
OtherBundle : ~
Тогда, как сказал пользователь 3580495, используйте команду:
php app/console doctrine:schema:create --em=other --dump-sql
чтобы посмотреть, что произойдет в базе данных postgresql.
php app/console doctrine:schema:update --em=default --dump-sql
покажет вам команды SQL, которые будут выполняться в базе данных MySQL.
В файле conf файла не забывайте комментарий, подобный этому:
#auto_mapping: true
#default_entity_manager: default
Это также означает, что когда вы используете эту команду обновления доктрины, вам придется каждый раз уточнять свой менеджер сущностей, что дает вам больший контроль над тем, что вы делаете в целом.
Не забывайте, что параметр --help всегда ваш друг для команд Symfony, а также вы найдете много информации в документации:
http://symfony.com/doc/current/cookbook/doctrine/multiple_entity_managers.html