Полагаю, вам стоит взглянуть на это до c. Там описано, как добавить еще один EntityManager, что означает другое соединение. Первым шагом является создание конфигурации.
Особо взгляните на doctrine .yaml configuration:
# config/packages/doctrine.yaml
doctrine:
doctrine:
dbal:
default_connection: default
connections:
default:
# configure these for your database server
url: '%env(DATABASE_URL)%'
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
customer:
# configure these for your database server
url: '%env(DATABASE_CUSTOMER_URL)%'
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
Main:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity/Main'
prefix: 'App\Entity\Main'
alias: Main
customer:
connection: customer
mappings:
Customer:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity/Customer'
prefix: 'App\Entity\Customer'
alias: Customer
Выше два менеджера сущностей, 'default' и 'customer'. Есть также два центра, по одному для каждого менеджера.
Если конфигурация верна, вы получите доступ к этим менеджерам, передав их имена методу getManager.
$entityManager = $this->getDoctrine()->getManager('default');
$customerEntityManager = $this->getDoctrine()->getManager('customer');
Если вы не можете редактировать конфигурацию: А как насчет создания пользовательского класса (Manager или чего-то еще), в котором вы будете вручную создавать соединение. Взгляните на это, оно должно вам помочь. установление соединения