3.4.1 Datenbank Kofiguration

CakePHP geht davon aus dass Datenbank-konfigurations-Details in einer Datei unter app/config/database.php enthalten sind. Eine Beispiel-Kofigurations-Datei kann unter app/config/database.php.default gefunden werden. Eine fertige Konfig-Datei solltein etwa folgendermassen aussehen:

var $default = array('driver'      => 'mysql',
                     'persistent'  => false,
                     'host'        => 'localhost',
                     'login'       => 'cakephpuser',
                     'password'    => 'c4k3roxx!',
                     'database'    => 'my_cakephp_project',
                     'prefix'      => '');
  1. var $default = array('driver' => 'mysql',
  2. 'persistent' => false,
  3. 'host' => 'localhost',
  4. 'login' => 'cakephpuser',
  5. 'password' => 'c4k3roxx!',
  6. 'database' => 'my_cakephp_project',
  7. 'prefix' => '');

Der $default-Verbindung-Datensatz wird gebraucht, solange keine weiter Verbindung durch $useDbConfig-Inhalte in ein Model spezifiziert wurde.
Zum Beispiel, wenn meine Anwendungen eine 2.te Datenbank zusätzlich zur Standart-DB verwenden, dann könnte man diese in den Models verwenden in dem man einen neuen $legacy-Datensatz zum $default-Datensatz hinzu fügt und die Einstellung var $useDbConfig = ‘legacy’; in den entsprechenden Models.

Passe die folgenden Parameter/Schlüssel in deinen Kofigurations-Datensatz an deine optimalen Anforderungen an.

Key Value
driver Der Name der Datenbank-Treiber für welche diese Konfiguration ebraucht wird. Beispiele: mysql, postgres, sqlite, pear-drivername, adodb-drivername, mssql, oracle, or odbc.
persistent Eine beharrliche Verbindung zur Datenbank, ungeachtet dessen ob die genutzt wird oder nicht.
host Adresse des Datenbankserver`s (oder dessen IP-Adresse).
login Der Benutzername zur DB.
password Das Passwort zum DB-Account.
database Der Datenbankname, welcher bei dieser verbindung benutzt wird.
prefix (optional) Die Zeichenfolge welche deine Datensätze in der Datenbank bezeichnet. Wenn deine Datensätze keine Zeichenfolge haben, dann lass diese Anweisung leer.
port (optional) Der TCP port oder Unix socket welcher möglicherweise gebraucht wird um eine Verbindung zu DB aufzubauen
encoding Gibt an mit welcher Zeichenfolge auf die Datenbank geschrieben wird. (zB UTF-8)
schema Wird in PostgreSQL Datenbanksetups genutzt um zu definieren welches Schema genutzt wird.

Die prefix-Einstellung ist nur für Datensätze(tables) und nicht für Models. Zum Beispiel, wenn du eine Zugangs-Tabelle für deine "apfel" und "birne" Models erstellst, dann sollte es prefix_apfel_birne (nicht prefix_apfel_prefix_birne), und setze deine prefix-Einstellung zu 'prefix_'.


An diesem Punkt solltest du einen Blick auf CakePHP Gepflogenheiten werfen. Die korrekte benennung der Datensätze (und einiger zugehöriger Sparten) kann dich durch einige zusätzliche Funktionen belohnen und hilft dir Konfiguration zu vermeiden.
Zum Beispiel wenn du deine Datenbank big_boxes nennst, dein Model BigBox, deinen Controller BigBoxesController, dann arbeiten alle automatisch zusammen. Falls möglich, nutze Unterstriche, Einzahl(Singular) und Mehrzahl(Plural) für deine Datensatz(table)-Namen - zum Beispiel: baecker, konditor_laden und leckere_kuchen.