3.4.1 Konfigurace databáze

Detaily s konfigurací databáze očekává CakePHP v souboru app/config/database.php. Příklad konfiguračního souboru je umístěn v app/config/database.php.default. Konečná konfigurace může vypadat takto:

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' => '');

Pole pro připojení $default je použito pokud není vlastnost modelu $useDbConfig nastavena jinak. Například pokud moje aplikace používá databázi 'legacy' jako pomocnou, mohu vytvořit nové pole $legacy pro připojení podobně jako $default, a nastavením proměnné modelu $useDbConfig = 'legacy' jí v tomto modelu zpřístupnit.

Klíč Hodnota
driver Jméno databázového ovladače, např. : mysql, postgres, sqlite, pear-drivername, adodb-drivername, mssql, oracle, or odbc.
persistent Zda použít stálé připojení do databáze.
host Jméno databázového serveru nebo IP adresa.
login Uživatelské jméno pro účet.
password Heslo k účtu
database Jméno databáze pro toto připojení
prefix (volitelné) Řetězec který se použije jako prefix pro každou databázovou tabulku. Pokud Vaše tabulky nemají prexify, nastavte toto na prázdný řetězec.
port (volitelné) TCP port nebo socket použitý pro připojení k serveru.
encoding Udává jaká znaková sada je použita při odesílání SQL příkazů na server.
schema Specifikuje, které schéma se má použít v PostgreSQL.

Prefix se nastavuje pro tabulky, ne pro model. Například pokud vytvoříte spojení mezi Apple a Flavor modely, pojmenuje se prefix_apples_flavors (ne prefix_apples_prefix_flavors), při nastaveném prefixu 'prefix_'.

Zde se prosím podívejte na CakePHP konvence. Správným pojmenováním tabulek a sloupců můžete využít předdefinovanou funkcionalitu a vyhnout se zbytečné konfiguraci. Například pokud se tabulka bude jmenovat big_boxes, model BigBox a controller BigBoxesController, všechno bude pracovat společně automaticky. Dle konvencí pro databázové tabulky používejte podtržítka, malá písmena a množné číslo , např.: bakers, pastry_stores, a savory_cakes.