2007-09-03

Multiple Datenbanken mit CakePHP

Gerade wieder über dieses Thema gestolpert. CakePHP unterstützt ja nunmal mehrere Datenbankverbindungen pro Anwendung. D.h. man könnte theoretisch pro Request mehrere Models, die auf n Datenbanken zugreifen, nutzen. Tolle Sache find ich. Jedoch verbrachte ich die letzten paar Sunden nun damit, dies zum laufen zu bringen.

Ok, einige Ansätze waren auch ziemlich bullshit

modelInstanz->useDbConfig = ‘someOtherThanDefault’;

Nachdem die eigenen Vorgehen dann jedoch ständig darin endeten, das die DB-Verbindung nichtmehr auf “default” zurückgesetzt wurde, sondern immer weiter mit der letzten alternativen Konfiguration gearbeitet wurde, ging ich auf Google los. Nach einigen interessanten, alternativen Ansätzen, kam ich letztlich zur Quelle aller Fragen udn Antworten: dem CakePHP Bugtracker ;).

Und hier fand ich dann auch die Quelle meiner Probleme

i added the ‘persistent’ parameter to the dabase config file and set it to false. i tried to debug the code. the $db variable has the right database in it but the $this->connection variable in the dbo_mysql file had always the same connection. now its a different object. after the fetchAll function was called in the _execute function raised the error. i didn’t find the line where you change the database connection..

So, persistant (false) Attribut in den Datenbankkonfigurationen gesetzt, $useDbConfig = ‘differentConfigName’ in den betreffenden Models hinzugefügt und dem Query feuer unterm Arsch gemacht .. vóila , et gayt.

Achja, Vlad’s 21 Best Practice-Tipps waren auch wieder recht hilfreich ;)

Home Writing Rides Travel Photos Journal