Configuração de vários ambientes

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?

Cálcio,

Tem uma wiki de Dezembro/2011 que ensina de uma forma legal de fazer vários ambiente, e tem também uma extensão que é excelente.

Wiki: http://www.yiiframework.com/wiki/289/use-application-on-production-development-environment-without-making-changes

Extensão: http://www.yiiframework.com/extension/yii-environment/