Недавно мне написал человек, который захотел работать с миграциями пакетно, т.е. не запускать каждую миграцию построчно через консоль, а реализовать некую команду, в которой будет весь список нужных миграций и два метода: 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']);
}
Вот и все. =)