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` ;");

Leave a Reply