Dans certains contextes de projet, on a besoins d’avoir accès à plusieurs bases de données (au moins 2). Dans le contexte que j’ai pu avoir, il me fallait configurer 2 BDD. La première base était sur MySQL, et la deuxième sur PostgreSQL.
Voici les différentes étapes que j’ai pu effectuer :
La première étape est de définir les connexions de base de données dans le fichier de configuration config/database.php. Il faut ajouter une nouvelle connexion à la section connections du tableau de configuration. Par exemple :
Ensuite, il faut définir les variables d’environnement pour la deuxième base de données dans le fichier .env :
A partir de là, on peut utiliser les méthodes du Query Builder pour spécifier la connexion qu’on souhaite utiliser :
L’étape suivante et de pouvoir effectuer les migrations des tables vers la deuxième base de données dans Laravel, il suffit de spécifier la connexion à utiliser lors de l’exécution des migrations. Il faut tout d’abord créer une migration Laravel.
Voici la commande :
Dans le fichier de migration généré, on spécifie la connexion à utiliser :
4. Ensuite, vous pouvez exécuter vos migrations comme d’habitude :
Cela créera la table test dans votre base de données PostgreSQL.
Notez que si vous voulez exécuter toutes les migrations sur la deuxième base de données, vous pouvez utiliser la commande suivante :
Cela exécutera toutes les migrations disponibles sur la connexion pgsql.
Et voilà. Qu’en avez-vous penser ?