Я разрабатываю с Symfony 5.0.5 и Doctrine.
У меня есть 3 Mysql БД.
- Приложение BDD
- OP2
- OP3
Приложение BDD предназначено для хранения параметров пользователей и нескольких параметров. Структура для OP2 и OP3 это то же самое, но не DATA.
Это мой doctrine .yaml conf:
doctrine:
dbal:
default_connection: app
connections:
app:
url: '%env(resolve:DATABASE_URL)%'
driver: 'pdo_mysql'
server_version: '8.0.19'
charset: utf8mb4
op2:
url: '%env(resolve:DATABASE_URL_OP2)%'
driver: 'pdo_mysql'
server_version: '8.0.19'
charset: utf8mb4
op3:
url: '%env(resolve:DATABASE_URL_OP3)%'
driver: 'pdo_mysql'
server_version: '8.0.19'
charset: utf8mb4
# IMPORTANT: You MUST configure your server version,
# either here or in the DATABASE_URL env var (see .env file)
#server_version: '5.7'
orm:
default_entity_manager: app
entity_managers:
app:
connection: app
mappings:
Main:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity/App'
prefix: 'App\Entity\App'
alias: App
op2:
connection: op2
mappings:
Main:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
op3:
connection: op3
mappings:
Main:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
Это работает, но не когда я делаю:
$em = $this->getDoctrine()->getManager('op3');
$Customers = $em->getRepository(Subscriber::class)->findBy([], ['username' => 'ASC']);
При этом doctrine берут базу данных 'op2', но не 'op3'.
Все сущности для op2 и op3 - это одни и те же файлы.
Были ли у вас Любые идеи ? Спасибо