Если не нужен AR этого достаточно. Если же нужно стоит его подправить.
class MyActiveRecord extends CActiveRecord {
...
private static $db2 = null;
public function getDbConnection()
{
if (self::$db2 !== null)
return self::$db2;
else
{
self::$db2 = Yii::app()->db2;
if (self::$db2 instanceof CDbConnection)
{
self::$db2->setActive(true);
return self::$db2;
}
else
throw new CDbException(Yii::t('yii','Active Record requires a "db" CDbConnection application component.'));
}
}
//в модели которая использует другую базу
class MyModel extends MyActiveRecord
Либо делаем как советует А.Макаров:
class Comment extends CActiveRecord {
//…
// отдаём соединение, описанное в компоненте db2
public function getDbConnection(){
return Yii::app()->db2;
}
// возвращаем имя таблицы вместе с именем БД
public function tableName(){
return 'db2.comment';
}
//…
}
Тут уже на любителя, но класс в конфиге обязателен, без него ничего не работает.
Наверное потому, что в конфиге фреймворка класс для компонента “db” был указан по умолчанию и просто наследовался. А для вашего нового компонента “db2” такого наследования не было