Codeigniter - der beste Weg, um zwei verschiedene Datenbanken zu verwenden

7

Kennt jemand die beste Vorgehensweise für die Verwendung von zwei verschiedenen Datenbanken in meiner Anwendung?

Ich muss Daten in beiden Datenbanken speichern, die sich anders befinden (Host, Benutzername, Passwort, alles ändert sich).

Ich plane, wie üblich Modelle zu erstellen, und setze in db host, db host, name, pass usw. ein.

    
sbaaaang 07.10.2012, 09:25
quelle

4 Antworten

16

Ich bin mir nicht sicher, ob Sie diesen "besten" Weg nennen, aber a Weise, wie im Tutorial beschrieben, ist dies,

In der Datenbankdatei haben Sie die Standardkonfiguration, von der ein Teil ist:

%Vor%

Jetzt können Sie eine andere Gruppe erstellen, sagen wir nennen sie group1 und wir möchten, dass sie mit Ausnahme des Namens alle die gleichen wie die Standardeinstellungen der Datenbank hat, also können Sie

machen %Vor%

Wenn Sie die zweite Datenbank verwenden möchten, gehen Sie einfach

%Vor%

und dann statt $this->db->foo() , wirst du $DB2->foo()

machen

alternativ (wie in Kommentaren von sbaaaang vorgeschlagen), können Sie $this->db=$DB2; verwenden, um alles gleich zu halten

und Sie können dies auf mehrere Gruppen wie folgt erweitern

%Vor%     
Ahmed-Anas 07.10.2012, 09:34
quelle
4

Nun, ich möchte hier nur meine Lösung schreiben, weil ich weniger Code verwendet habe, denke ich:

in der Datenbank.php setze ich die Datenbankgruppen so für ex:

%Vor%

Dann habe ich in den Modellen den Konstruktor benutzt, um zu der Datenbank zu wechseln, die ich so benutzen möchte:

%Vor%

wenn jemand mehr Lösungen zeigen möchte bitte! Das sind nur meine zwei Cent.

    
sbaaaang 13.10.2012 19:36
quelle
4

Ich lese das

%Vor%

muss falsch sein, damit diese Dinge funktionieren. Bitte korrigieren Sie mich, falls ich falsch liege. Für ALLE mehrere Datenbanken, die Sie verwenden, muss es deaktiviert sein. Ich weiß nicht, ob das eine gute Lösung ist.

    
xDan 28.11.2012 22:43
quelle
0

Versuchte dies und es funktioniert:

%Vor%     
Pieter Roos 06.01.2017 12:15
quelle