CodeIgniter: Conectando ao banco de dados automaticamente de acordo com o ambiente

Vamos ver nessa dica como conectar ao banco de dados do ambiente atual (desenvolvimento, teste ou produção) usando o CodeIgniter.

Por | @jonathanlamimkt Programação
<p>Muitas vezes precisamos ficar comentando e descomentando c&oacute;digo de acesso a banco quando mudamos de ambiente (desenvolvimento, teste, produ&ccedil;&atilde;o). No CodeIgniter podemos fazer isso uma &uacute;nica vez, e sempre que alterarmos o ambiente de desenvolvimento, a conex&atilde;o ser&aacute; feita automaticamente ao banco correto.</p> <p>Para fazer isso, abra o arquivo <strong>database.php</strong>, que est&aacute; localizado em <em>"application/config"</em>, e logo ap&oacute;s a declara&ccedil;&atilde;o da vari&aacute;vel <strong>$active_record</strong>, adicione o c&oacute;digo a seguir:<br /><br /><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> <p>Esse c&oacute;digo dever&aacute; substituir as 4 primeiras linhas ap&oacute;s a vari&aacute;vel <strong>$active_record</strong>. Ap&oacute;s esse c&oacute;digo, ficar&atilde;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&ecirc; deve estar se perguntando: "Aonde &eacute; declarado o valor de <em>ENVIRONMENT</em>?" A resposta &eacute; simples, acesse o arquivo index.php na raiz da aplica&ccedil;&atilde;o e voc&ecirc; ver&aacute; a declara&ccedil;&atilde;o feita na linha 21, caso n&atilde;o tenha feito nenhuma altera&ccedil;&atilde;o no arquivo.</p> <p>Feito isso voc&ecirc; n&atilde;o precisar&aacute; se preocupar em ficar trocando a conex&atilde;o com o banco no arquivo database.php, basta alterar o valor de <em>ENVIRONMENT</em> no arquivo index.php que a conex&atilde;o ser&aacute; feita normalmente, no banco correto para o ambiente em uso.</p>

Mais sobre: codeigniter php banco de dados
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo