2012-03-03 2 views

ответ

0

AFAIK, no. Но вы можете изменить подключение к базе данных в config/console.php и запустить его в другой базе данных.

+0

Не правда больше, см ответ Эрика. – phemios

7

Да, вы просто изменяете идентификатор соединения, чтобы указать на ваш 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

+0

Имейте в виду, что в миграции может быть код, в котором используется Yii :: app() -> db. Потребовалось некоторое время, чтобы понять, почему миграция, использующая компонент DbAuthmanager, не сработала для моего теста db ... Поскольку команда перенаправления - это консольная команда, не нужно ли config/console.php добавлять компонент testdb? – Sisko78

 Смежные вопросы

  • Нет связанных вопросов^_^