Yii数据库连接

时间:2013-04-11 07:39:38

标签: php sqlite yii

是否有任何动态方式来放置sqlite数据库连接而不是使用sqlite:f:\\wamp\\www\\qdr\\protected\\data\\testdrive.db in main.php

'db'=>array(
          'connectionString'=>'sqlite:f:\\wamp\\www\\qdr\\protected\\data\\testdrive.db',
),

2 个答案:

答案 0 :(得分:0)

这取决于您在模糊术语 dynamic 下理解的内容。但是,您可以创建自定义DBConnection类并在那里覆盖init()

class DbConnection extends CDbConnection
{
    public function init()
    {
        // Set $this->connectionString to whatever you want, maybe
        // $this->connectionString = 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db';
        parent::init();
    }
}

如果添加

,则可以将此组件用作db组件
'class' => 'DbConnection',

main.php

请注意,init()方法仅在访问db组件时第一次调用。因此,无论您设置为connectionString,都将使用当前请求。

答案 1 :(得分:0)

Sql lite是关于单个文件的,所以你可以像这样保存它。不需要动态。我相信你正在使用wamp。保持这样。这是最适合您的解决方案。将项目移动到实时服务器时,然后相应地更改。 Sqlite是一个单独的文件,所以不要那么烦。