Ich entwickle ein Modul, das stark von externen Datenbankabfragen abhängt. Gibt es eine bewährte Methode zum Definieren und Verwenden einer externen Datenbankverbindung in einem Modul?
Auf dieser Seite erfahren Sie, wie Sie die Verbindung herstellen, aber nicht, wo Sie sie in ein Modul einfügen sollen (bestimmter Hook?), Sodass ich sie nur einmal definieren muss. Außerdem muss immer "db_set_active ('YourDatabaseKey')" ausgeführt werden. oder kann ich ein Argument übergeben, mit dem die Datenbank verwendet wird? Ich benutze Drupal 7.
Antworten:
Es gibt keinen bestimmten Ort, an dem dieser Code abgelegt werden kann (Hook oder Modul). Sie platzieren ihn einfach dort, wo Sie ihn benötigen.
Es sollte also kurz vor Ihren Abfragen in der anderen Datenbank und kurz danach erfolgen, um die Standard-DB zurückzusetzen.
Wenn Ihr gesamtes Modul auf der externen Datenbank basiert, setzen Sie es einfach an den Anfang der ersten Funktion, die für Ihr Modul aufgerufen wird, und an das Ende der letzten Funktion.
Natürlich sollte jede Ihrer Funktionen in der externen Datenbank ausgeführt werden und nichts muss die Standarddatenbank abfragen müssen, ohne zurückzuschalten.
Dieser folgende Code würde fehlschlagen:
Sie sollten hin und her wechseln:
quelle
Sie müssen in hinzufügen
settings.php
an mich/sites/default/
in folgenden Syntax// Drupal 6
// Drupal 7
Nach diesen Einstellungen können Sie mit db_set_active () zwischen Datenbanken wechseln.
quelle