Galera, estou tentando criar vários ambientes tipo produção, dev e teste.
Achei um artigo mnt interessante (http://yiikungfu.wordpress.com/2011/07/30/yii-configurando-os-ambientes-de-desenvolvimento-teste-e-producao/). Porém achei uma parte trabalhosa que é criar vários index diferente.
Tentei no index fazer uma condição por $_SERVER[‘SERVER_ADDR’] de acordo com o IP eu chamo um /protected/config/ diferente no index.php Só que da erro.
Pelo q pude perceber o problema parece ser o CMap.
No link de onde estou me baseando para montar minha estrutura, temos o main.php, e depois vai derivando para teste.php e desenv.php. Essas duas derivações são feitas com o CMap. Então teríamos o main.php com o CMap reescrevendo itens do array pelo arquivo teste.php.
return CMap::mergeArray(
require(dirname(__FILE__).'/main.php'),
array(
'components'=>array(
'fixture'=>array(
'class'=>'system.test.CDbFixtureManager',
),
'db'=>array(
'connectionString' => 'mysql:host=host;dbname=nomeDoBanco',
'emulatePrepare' => true,
'username' => 'user',
'password' => 'password',
'charset' => 'utf8',
),
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning',
),
),
),
),
)
);
Ou seja, esse CMap deveria tocar toda as entradas de array por essa do novo arquivo. Certo? A princípio ele parece fazer isso pois ao chamar o config desejado ele exibe o erro "CDbConnection não conseguiu abrir uma conexão de banco de dados.". Parece q reescreveu mas por algum motivo bizarro da erro na conexão msm os dados da conexão estarem certos.
Alguém tem alguma luz?