Справочная информация: я разрабатываю веб-приложение с Symfony5 для клиента. Приложение должно быть доступно для нескольких клиентов. Каждый клиент должен получить свой собственный каталог файлов (для pdf et c.) И базу данных. Каталог файлов не является проблемой, но я не могу получить что-либо с базами данных. В соответствии с Symfony документом вы можете работать с разными БД. Я настроил это в config / packages / doctrine .yaml.
doctrine:
dbal:
connections:
Client1:
dbname: client1
host: localhost
port: 3306
user: admin
password: secret_pw
driver: pdo_mysql
server-version: 5.7
Client2:
dbname: client2
host: localhost
port: 3306
user: admin
password: secret_pw
driver: pdo_mysql
server-version: 5.7
orm:
auto_generate_proxy_classes: true
entity_managers:
Client1:
connection: Client1
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
mappings:
Client1:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: Client1
Client2:
connection: Client2
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
mappings:
Client2:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: Client2
Пока это также работает, если я создаю базу данных из CLI и выполняю миграции.
Но если я хочу прочитать, например, пользователя из БД для Client2 (установлен в $ dbClient) с
$userRepo = $this->getDoctrine()
->getRepository(User::class, $dbClient);
$user = $userRepo->findOneByeEmail($this->userEmail);
, БД для Client1 ВСЕГДА устанавливается в репозитории: ((.. 1011 *
Я сделал что-то не так в конфиге? Или есть что-то еще, что нужно настроить в другом месте?
Большое спасибо за вашу помощь
Фрэнк