Ми}{@лbI4

Блог хеллоуворлдщика

Пакетные миграции в Yii2

19.02.2019 yii2, migration, trick

Недавно мне написал человек, который захотел работать с миграциями пакетно, т.е. не запускать каждую миграцию построчно через консоль, а реализовать некую команду, в которой будет весь список нужных миграций и два метода: up и down. Что-ж, ничего сложного в этом нет, достаточно всего лишь...

написать пару строчек кода следующего содержания:

public function actionUp()
{
    $migrateController = new MigrateController('migrate', Yii::$app);
    $migrateController->interactive = false;
    $migrateController->migrationPath = [
        '@bupy7/pages/migrations',
        // другие ваши миграции в нужном порядке
    ];
    $migrateController->runAction('up');
}

public function actionDown()
{
    $migrateController = new MigrateController('migrate', Yii::$app);
    $migrateController->interactive = false;
    $migrateController->migrationPath = [
        '@bupy7/pages/migrations',
        // другие ваши миграции в нужном порядке
    ];
    $migrateController->runAction('down', ['all']);
}

Вот и все. =)