<p>Muitas vezes precisamos ficar comentando e descomentando código de acesso a banco quando mudamos de ambiente (desenvolvimento, teste, produção). No CodeIgniter podemos fazer isso uma única vez, e sempre que alterarmos o ambiente de desenvolvimento, a conexão será feita automaticamente ao banco correto.</p> <p>Para fazer isso, abra o arquivo <strong>database.php</strong>, que está localizado em <em>"application/config"</em>, e logo após a declaração da variável <strong>$active_record</strong>, adicione o código a seguir:<br /><br /></p>

<code><br />if (defined('ENVIRONMENT')) {<br /> switch (ENVIRONMENT) {<br /> case 'development':<br /> $db['default']['hostname'] = 'host do banco de dados';<br /> $db['default']['username'] = 'usuário do banco de dados';<br /> $db['default']['password'] = 'senha do banco de dados';<br /> $db['default']['database'] = 'nome do banco de dados';<br /> break;<br /><br /> case 'testing':<br /> $db['default']['hostname'] = 'host do banco de dados';<br /> $db['default']['username'] = 'usuário do banco de dados';<br /> $db['default']['password'] = 'senha do banco de dados';<br /> $db['default']['database'] = 'nome do banco de dados';<br /> break;<br /> case 'production':<br /> $db['default']['hostname'] = 'host do banco de dados';<br /> $db['default']['username'] = 'usuário do banco de dados';<br /> $db['default']['password'] = 'senha do banco de dados';<br /> $db['default']['database'] = 'nome do banco de dados';<br /> break;<br /><br /> default:<br /> $db['default']['hostname'] = 'host do banco de dados';<br /> $db['default']['username'] = 'usuário do banco de dados';<br /> $db['default']['password'] = 'senha do banco de dados';<br /> $db['default']['database'] = 'nome do banco de dados';<br /> break;<br /> }<br />}<br /> </code>

<p>Esse código deverá substituir as 4 primeiras linhas após a variável <strong>$active_record</strong>. Após esse código, ficarão as linhas abaixo:</p>

<p><code><br />$db['default']['dbdriver'] = 'mysql';<br />$db['default']['dbprefix'] = '';<br />$db['default']['pconnect'] = TRUE;<br />$db['default']['db_debug'] = TRUE;<br />$db['default']['cache_on'] = FALSE;<br />$db['default']['cachedir'] = '';<br />$db['default']['char_set'] = 'utf8';<br />$db['default']['dbcollat'] = 'utf8_general_ci';<br />$db['default']['swap_pre'] = '';<br />$db['default']['autoinit'] = TRUE;<br />$db['default']['stricton'] = FALSE;<br /></code></p>

<p>Você deve estar se perguntando: "Aonde é declarado o valor de ENVIRONMENT?" A resposta é simples, acesse o arquivo index.php na raiz da aplicação e você verá a declaração feita na linha 21, caso não tenha feito nenhuma alteração no arquivo.</p> <p>Feito isso você não precisará se preocupar em ficar trocando a conexão com o banco no arquivo database.php, basta alterar o valor de ENVIRONMENT no arquivo index.php que a conexão será feita normalmente, no banco correto para o ambiente em uso.</p>