2012-03-03 66 views

回答

0

AFAIK,no。 但您可以在config/console.php中更改數據庫連接並在另一個數據庫上運行它。

+0

不再成立了,看到Eric的答覆。 – phemios 2014-08-13 12:34:41

7

是的,你只需改變connectionID指向你的testdb。因此,在config/main.php中,您只需添加:

'components'=>... 
    'testdb'=>array(
     'class'=>'CDbConnection', 
      'connectionString' => 'mysql:host=localhost;dbname=my_test_db', 
      'emulatePrepare' => true, 
      'username' => 'myuser', 
      'password' => 'mypass', 
      'charset' => 'utf8', 
     ); 
... 

注意該數組中的屬性。

一旦你的,你可以通過書面形式向終端運行遷移:

protected/yiic migrate --connectionID=testdb 
+0

有什麼辦法可以在我的測試用例的初始化中包含它,所以它會自動執行? – joerx 2013-09-08 04:27:37

+0

請記住,在使用Yii :: app() - > db的遷移中可能存在代碼。花了一些時間瞭解爲什麼使用DbAuthmanager組件的遷移失敗,因爲我的測試數據庫... 由於遷移命令是一個控制檯命令,不應該是config/console.php來添加testdb組件? – Sisko78 2015-02-24 16:31:17