Je développe un module qui s'appuiera fortement sur les requêtes de bases de données externes. Existe-t-il une meilleure pratique pour définir et utiliser une connexion de base de données externe dans un module?
Cette page me dit comment faire la connexion, mais pas où la mettre dans un module (hook spécifique?) Donc je n'ai à la définir qu'une seule fois. De plus, est-il toujours nécessaire de faire "db_set_active ('YourDatabaseKey');" ou puis-je passer un argument qui définira la base de données à utiliser? J'utilise Drupal 7.
Réponses:
Il n'y a pas de place particulière pour mettre ce code (hook ou module), il vous suffit de le mettre là où vous en avez besoin.
Il devrait donc aller juste avant vos requêtes sur l'autre base de données et juste après pour réinitialiser la base de données par défaut.
Si tout votre module dépendra de la base de données externe, mettez-le simplement au début de la première fonction appelée pour votre module et à la fin de la dernière fonction.
Bien sûr, chacune de vos fonctions doit être exécutée sur la base de données externe et rien ne doit avoir à interroger la base de données par défaut sans revenir en arrière.
Ce code suivant échouerait:
Vous devez basculer d'avant en arrière:
la source
Vous devrez ajouter dans
settings.php
situé à/sites/default/
dans la syntaxe suivante// Drupal 6
// Drupal 7
Et après ces paramètres, vous pouvez utiliser db_set_active () pour basculer entre les bases de données.
la source