Yii 2 миграции для тестовой базы данных

Я не вижу четкого способа сделать это, хотя я вижу, что это повторяется несколько раз в документации, в частности:

Используйте инструмент миграции yii, чтобы обновить тестовую базу данных до последней версии;

находится в http://www.yiiframework.com/doc-2.0/guide-test-fixture.html#summary (просто для примера)

Что происходит, так это то, что независимо от того, как я настраиваю _console.php и _config.php в моей папке tests/unit, если я запускаю инструмент миграции, он выбирает основную базу данных приложения:

$ cd tests/unit
$ ../../yii migrate/up
Yii Migration Tool (based on Yii v2.0.0-dev)

No new migration found. Your system is up-to-date.

И да, тестовая БД настроена правильно (запуск тестов выдает ошибку, что таблиц нет). Очевидно, что я могу создать структуру db самостоятельно, но все дело в том, чтобы эта функция работала должным образом.

В настоящее время я использую приложение Basic, установленное через composer.


person Mr Peach    schedule 14.08.2014    source источник
comment
просто для ясности, я также не вижу способа назвать тестовую базу данных, запустив yii migrate/up --db=X   -  person Mr Peach    schedule 14.08.2014


Ответы (3)


[править] обновил ответ, чтобы отразить текущую версию Yii2

Просто публикую правильный ответ, как я нашел его сам, и я чувствую себя немного глупо, как это было у меня на глазах.

В каталоге тестовой папки есть еще одна командная строка yii, что означает, что вы можете легко сделать:

$ cd tests/codeception/bin
$ chmod a+x yii
$ yii migrate/up

и он будет автоматически использовать базу данных, которую вы указали в tests/codeception/config/config.php.

Наслаждаться

person Mr Peach    schedule 14.08.2014

Просто используя yii_test migrate для Yii2.

person chariothy    schedule 11.01.2017
comment
Это кажется лучшим ответом. - person Raul Sauco; 14.11.2020

Чтобы применить миграции для тестовой базы данных в Yii2, запустите эту команду в каталоге проекта:

php tests/bin/yii migrate
person yesnik    schedule 16.07.2017
comment
Насколько я вижу, это создает только таблицу миграции. Как насчет пользовательской таблицы, например? - person dataskills; 20.03.2018