是否有任何动态方式来放置 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',
),
这取决于您在模糊术语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都将用于当前请求。
Sql lite 是关于单个文件的,因此您可以像这样保留它。不需要动态。我确定你正在使用 wamp。就这样保持吧。这是最适合您的解决方案。当您将项目移动到实时服务器时,请进行相应更改。Sqlite 是一个单独的文件,所以不要那么麻烦。