是否有任何动态方式来放置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',
),
答案 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是一个单独的文件,所以不要那么烦。