Activer une autre BDD avec Drupal

Sur cet exemple, on va voir comment on peut configurer Drupal pour se connecter sur plusieurs bases de données.

Pour commencer je reviens sur le faite que Drupal enregistre les configurations de la BDD sur le fichier sites/default/settings.php et c'est là où on va changer un peu notre configuration.

Pour la BDD c'est stocké sous l'un de ces formats (selon notre type de BDD) :

* $db_url = 'mysql://username:password@localhost/databasename';
* $db_url = 'mysqli://username:password@localhost/databasename';
* $db_url = 'pgsql://username:password@localhost/databasename';

Et dans notre cas on veux ajouter plusieurs BDD, c'est assez simple, on déclare un array qui va contenir en premier notre BDD par défaut (default) de cette façon:

$db_url['default'] = 'mysql://username:password@localhost/databasename';

Ensuite, on ajoute les autres BDD :

$db_url['nom_machine_x'] = 'mysql://username:password@localhost/databasename';
$db_url['nom_machine_y'] = 'mysql://username:password@localhost/databasename';

Maintenant on peut se connecter sur l'une de nos bases configurées ci-dessous avec la fonction suivante:

db_set_active('nom_machine_y');

Enfin, il ne faut pas oublier de revenir sur la BDD par défaut du système une fois notre traitement est fini:

db_set_active('default');