就拿本站为例,我们配置一个主数据库连接到mysql进行信息管理,同时我们配置另一个sqlite提供给插件使用
首先我们配置config/main.php,在components加入以下配置
1.mysql
'db'=>array(
'connectionString' => 'mysql:host=127.0.0.1;dbname=dbname',
'emulatePrepare' => true,
'username' => 'root',
'password' => '123456',
'charset' => 'utf8',
),
这样我们就连接好了一个数据库,可以通过 Yii::app()->db仿问到这个数据库的实例
2.sqlite
'db2'=>array(
'class'=>'CDbConnection',
'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/yii.db',
),
这样我们就可以通过Yii::app()->db2调用这个实例
3.下面来讲讲如何配置model,进行db的切换,由于Yii默认调用db,所以下面我们讲解db2的调用方法
在model设置以下属性
protected $dbString='db2';
添加以下方法
public function getDbConnection()
{
if(self::$db!==null)
return self::$db;
else
{
$dbString=$this->dbString;
self::$db=Yii::app()->$dbString;
if(self::$db instanceof CDbConnection)
{
self::$db->setActive(true);
return self::$db;
}
else
throw new CDbException(Yii::t('yii','...'));
}
}
这样,模型就配置好了,会调用db2的实例
|