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