Bonjour,
Je code actuellement un site pour un client et celui-ci posséde deux base de données une servant à tous ce qui est authentification, et une autre tous ce qui est informations,utilisation du logiciel vendu.
Le soucis c'est que sur Symfony4 on détermine nos informations bdd dans le .env
DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name
Puis j'ai plus aperçevoir que dans doctrine.yaml on utilise ceci pour dire à Doctrine de se connectés à la base de donnée, donc je suis un peu perdu pour l'utilisation de plusieurs base de donnée.
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
# With Symfony 3.3, remove the `resolve:` prefix
url: '%env(resolve:DATABASE_URL)%'
Donc j'aimerais savoir comment faire dans l'exemple ou .env posséderai deux base de donnée:
DATABASE_AUTH=mysql://root:test@127.0.0.1:3306/auth
DATABASE_UTIL=mysql://root:test@127.0.0.1:3306/util
Comment dire a doctrine.yaml qu'il y à pas une mais plusieurs base de donnée, et comment utiliser ceci dans mes Repository/Entity ?
Car sa m'a l'air assez brouillons.
Cordialement, et merci de votre aide !
Bonsoir.
As-tu pensé a bien consulter la documentation ?
How to Work with multiple Entity Managers and Connections
@Lartak, alors oui j'ai vu la documentation, mais je ne savais pas trop comment m'y prendre sachant que pour récuperer ma connection à ma db je fais comme ceci du coté de mes Repository:
$this->getEntityManager()->getConnection()
peux-être suffit t-il de faire sa du coup ?:
$db_default = $this->getDoctrine()->getManager('default');
$db_customer = $this->getDoctrine()->getManager('customer');
Si ne me trompe pas ? J'essayerais demain en tout cas merci à toi !