3.4.1 Konfiguracja bazy danych

Cake PHP używa konfiguracji bazy danych zapisanej w pliku app/config/database.php. Przykładowy plik konfiguracyjny można znaleźć w app/config/database.php.default. Końcowa konfiguracja powinna wyglądać mniej więcej tak:

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

Tablica $default jest używana dopóki inne połączenie nie jest zdefiniowane we właściwości $useDbConfig w modelu. Dla przykładu jeśli nasza aplikacja wykorzystuje dodatkową bazę danych nie użytą w tablicy $default. Możemy użyć jej w naszym modelu przez stworzenie nowego połączenia z bazą danych $legacy na podobnej zasadzie co nasza tablica $default przez ustawienie var $useDbConfig = 'legacy' w wykorzystywanym modelu.

Wypełnij pary klucz/wartość w tablicy konfiguracyjnej w takiej postaci jakiej potrzebujesz

Klucz Wartość
driver Nazwa sterownika bazy danych dla którego ta tablica konfiguracyjna jest stworzona. Przykład: mysql, postgres, sqlite, pear-drivername, adodb-drivername, mssql, oracle, lub odbc.
persistent Używa czy nie, stałego połączenia z bazą dancych
host Host serwera bazy danych (lub adres IP).
login Nazwa użytkownika dla konta
password Hasło użytkownika do konta
database Nazwa bazy danych
prefix (opcjonalnie) ciąg znaków który poprzedza wszystkie nazwy tabel w bazie danych. Jeśli Twoje tabele nie posiadają prefiksów, Pozostaw tą wartość pustą.
port (opcjonalnie) Port TCP dla Unix do połączenia z serwerem.
encoding Ustawia kodowanie znaków używanych przez bazę danych.
schema Używane w bazie PostgreSQL ustawia jakiego schematu używać.

Opcja prefix jest dla tabel, NIE modeli. Dla przykładu jeśli Tworzysz tabelę spajającą Twoje modele Apple i Flavour , nazwij je prefix_apples_flavors (NIE prefix_apples_prefix_flavors), i ustaw swój prefix na 'prefix_'.

Możesz także zajrzeć CakePHP-Conventions. Poprawne nazewnictwo Twoich tabel (i dodatkowych tabel) możesz zyskać swobodnej funkcjonalności i pomoże Ci ustrzec się od konfiguracji. Przykładowo jeśli nazwiesz swoją tabelę bazy danych big_boxes, model BigBox, kontroler BigBoxesController, wszystko będzie działać razem automatycznie. Używaj podkreśleń, małych liter, liczb mnogich dla Twoich baz danych. Przykład: bakers, pastry_stores, i savory_cakes.