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' => '');
var $default = array('driver' => 'mysql','persistent' => false,'host' => 'localhost','login' => 'cakephpuser','password' => 'c4k3roxx!','database' => 'my_cakephp_project','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.
