这是我的问题。我有一个yii
web project
,与db
中定义的某个main.php
有关联:
'db'=>array(
'pdoClass' => 'NestedPDO',
'connectionString' =>'sqlite:/var/www/my_project/protected/data/runtime/myDb.db',
'class' => 'CDbConnection',
'schemaCachingDuration' => 100,
),
在其中一个php
脚本中,我运行一个命令来复制新的database
而不是旧的table
。
问题是在脚本中我没有注意到变化
例如,如果在数据库“myDb”中有一个名为Table_1的php
包含4条记录,而在新的“myDb”中该表包含8条记录,在我运行之后的{{1}}脚本中更改“myDb”的命令我仍然会看到“Table_1”有4条记录。
答案 0 :(得分:0)
如果你想要的话,Yii可以被配置为运行多个数据库 像这样的东西
...
'components' => array(
'db'=>array(
'pdoClass' => 'NestedPDO',
'connectionString' =>'sqlite:/var/www/my_project/protected/data/runtime/myDb.db',
'class' => 'CDbConnection',
'schemaCachingDuration' => 100,
),
'dbNew' => array(
'pdoClass' => 'NestedPDO',
'connectionString' =>'sqlite:/var/www/my_project/protected/data/runtime/myDb_new.db',
'schemaCachingDuration' => 100,
'class' => 'CDbConnection' // DO NOT FORGET THIS!
),
...
一旦定义了这个,第二个数据库被称为Yii::app()->dbNew
而不是Yii::app()->db
,第一个数据库也可用于您的常规操作