CakePHP – Arbeiten mit zwei Datenbanken
Im Prinzip ist es sehr einfach mit zwei Datenbanken zu arbeiten. CakePHP erlaubt ja über die Member Variable $useDbConfig die Konfiguration zu ändern.
Dieses Verfahren wird hier ganz schön beschrieben: http://blog.4webby.com/posts/view/6/cakephp_models_using_multiple_db_connections
Aaaahber, was ist wenn es keine weitere Konfiguration gibt, weil mit einer flammneuen Datenbank gearbeitet werden soll, die man gerade eben erst selbst erzeugt hat? In diesem Fall hilft das “USE” Statement. Hier ein Bespiel:
// DB Wechseln $this->Model->query("USE `other_db` ;"); // Query auf der neuen DB absetzen $this->Model->query("UPDATE configuration SET configuration_value = 'foo' WHERE configuration_key = 'bar' ;"); // Und wieder zurück zur alten DB $current_config = $this->Model->getDataSource(); $original_db = $current_config->config['database']; $this->Model->query("USE `$original_db` ;");
In diesem Zusammenhang:
- CakePHP – SaveField mit MySQL Funktionen wie z.B. Now() Dummerweise erlaubt es CakePHP nicht beim aktualisieren eines einzelnen Datenbankfeldes...
- Verwirrende Signatur von Tree generatetreelist() Das Behaviour Tree von CakePHP ist schon recht nützlich, aber...
- CakePHP – Ein Model in einem anderen nutzen Das Handbuch schweigt sich darüber aus, vielleicht weil man es...