Настройка базы данных
CakePHP ожидает что данные о настройке подключения к базе данных будут располагаться в файле
app/config/database.php. Файл с образцом настройки располагает по адресу
app/config/database.php.default. Файл с готовой конфигурацией должен выглядеть так:
var $default = array('driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'cakephpuser',
'password' => 'c4k3roxx!',
'database' => 'my_cakephp_project',
'prefix' => '');
Пример конфигурации базы данных
Если в модели не объявлена переменная
$useDbConfig с названием используемых параметров подключения, то CakePHP будет использовать настройки определенные в массиве с названием
$default. Например, если моему приложению требуется подключиться к еще одной базе данных, помимо основной, то я просто могу создать еще один массив с настройками (например
$legacy) аналогичный по структуре массиву по умолчанию и в модели объявить, что хочу работать с другой базой данных так:
var $useDbConfig = 'legacy';.
Замените пары ключ/значение в массиве настроек на ваши.
Ключ | Значение |
driver | Имя драйвера базы данных для этой конфигурации.
Например: mysql, postgres, sqlite, pear-drivername, adodb-drivername, mssql, oracle или odbc. |
persistent | Будет ли использоваться постоянное соединение с базой данных |
host | Имя сервера, на котором расположена база данных (или его IP) |
login | Логин для доступа к базе данных |
password | Пароль доступа к базе данных |
database | Имя базы данных для текущего соединения |
prefix (опционально) | Cake будет счиать что все таблицы относящиеся к нему имеют этот префикс. Если префикс не используется — оставьте пустую строку. |
port (опционально) | TCP порт или сокет Unix, который используется для доступа к базе данных. |
encoding | Указывает в какой кодировке отправлять запросы к базе данных |
schema | Используется в базе данных PostgreSQL, указывает на то какая схема используется |
Заметим, что параметр
prefix актуален для таблиц, а не Моделей. Например, если вы создаете таблицу для объединения двух ваших моделей Apple и Flavor, то таблица должна называться
prefix_apples_flavors (
не prefix_apples_prefix_flavors), а в настройках соединения указан ключ
prefix со значением
'prefix_'.
Сейчас вы можете взглянуть в раздел Соглашения, который недавно прочитали. Правильное название для вашей таблицы (а так же некоторых колонок) облегчит разработку и поможет вам избежать лишних настроек.