5.4.1 Configuração da base de dados

O CakePHP espera que os detalhes de configuração da base de dados estejam no arquivo app/config/database.php. Um exemplo de configuração da base de dados pode ser encontrado em app/config/database.php.default.

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

A conexão $default é usada a menos que outra configuração seja especificada pela propriedade $useDbConfig em um modelo. Por exemplo, se minha aplicação tiver uma base de dados adicional do legacy além do padrão, eu poderia usá-la em meus modelos criando uma nova conexão da base de dados de $legacy similar a configuração $default, e ajustando a var $useDbConfig = ‘legacy’; nos modelos apropriados.

Preencha corretamente os pares de chave/valor na configuração para atender melhor às suas necessidades.

Chave Valor
driver O nome do driver da base de dados para esta configuração. Exemplos: mysql, postgres, sqlite, pear-drivername, adodb-drivername, mssql, oracle, ou odbc.
persistent Se usará ou não uma conexão persistente com a base de dados.
host O nome do servidor da base de dados (ou endereço IP).
login O usuário desta conta.
password A senha desta conta.
database O nome da base de dados que esta conexão irá usar.
prefix (opcional) Esta string será adicionada como prefixo no nome de todas tabelas de sua base de dados. Se suas tabelas não possuem prefixo, deixe esta string vazia.
port (opcional) A porta TCP ou socket Unix usado para conectar com o servidor.
encoding Indica qual caractere definido será usado para enviar indicações SQL ao servidor.
schema Usado em instalações de base de dados PostgreSQL para especificar qual schema usar.

Note que as configurações de prefixo são para as tabelas, não para os modelos. Por exemplo, se você criou um relacionamento entre as tabelas Apple e Flavor, o nome será prefixo_apples_flavors (não prefixo_apples_prefixo_flavors), isso se sua opção de prefixo estiver como 'prefixo_'.

A partir deste ponto, você deve dar uma olhada nas Convenções CakePHP, mostradas neste manual. A nomenclatura correta para suas tabelas (e o nome de algumas colunas) pode livrar de algumas implementações e configurações desnecessárias.