У меня есть 2 базы данных (default
и test
).База данных default
затрагивается для производственной среды и test
для среды разработки.Когда обе базы данных синхронизированы, содержимое должно быть одинаковым.
Итак, для управления этим запросом я следовал этому документу: https://symfony.com/doc/current/doctrine/multiple_entity_managers.html.
Но когда я запускаю эту команду php bin/console doctrine:schema:update --dump-sql --em=test
,У меня No Metadata Classes to process.
С той же командой для em по умолчанию у меня нет проблем.
Итак, как я могу определить сущности для обеих баз данных?
Спасибо
РЕДАКТИРОВАТЬ:
Дополнительные сведения о приложении: База данных test
предназначена для среды разработки, и ее структура может отличаться от базы данных default
.test
дБ будет использоваться для функционального тестирования и проверки новых функций.После завершения процесса проверки структуры test
db и данные будут объединены в default
db.Это стратегия разделения среды производства и разработки.
РЕДАКТИРОВАТЬ 2:
Моя конфигурация:
doctrine:
dbal:
default_connection: '%default_database_connection%'
connections:
default:
driver: pdo_mysql
host: '%database_default_host%'
port: '%database_default_port%'
dbname: '%database_default_name%'
user: '%database_default_user%'
password: '%database_default_password%'
charset: UTF8
test:
driver: pdo_mysql
host: '%database_test_host%'
port: '%database_test_port%'
dbname: '%database_test_name%'
user: '%database_test_user%'
password: '%database_test_password%'
charset: UTF8
orm:
auto_generate_proxy_classes: '%kernel.debug%'
default_entity_manager: '%default_entity_manager%'
entity_managers:
default:
connection: default
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
test:
connection: test
naming_strategy: doctrine.orm.naming_strategy.underscore