Есть ли возможность повторить миграцию?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Есть ли возможность повторить миграцию?

Сообщение maleks »

Приветствую.

А нет способа запустить ранее уже отработавшую одну миграцию еще раз?

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

Код: Выделить всё

$this->update('таблица', [что устанавливаем], [для чего]);
, то оно проставит на существующей базе нормально.
А вот если с нулевой базы стартануть, то такая миграция ничего не сделает, т.к. не найдется [для чего].
Но если после всех этих миграций, запущу загрузку справочников.
И потом вот эту миграцию если бы перезапустить, то было бы неплохо.
Yii2 universal module sceleton - for basic and advanced templates
masson
Сообщения: 545
Зарегистрирован: 2012.07.03, 15:59

Re: Есть ли возможность повторить миграцию?

Сообщение masson »

Код: Выделить всё

if (в схеме БД не найдено то чего нужно) {
	$m = new existingMigrationClassName();
	$m->up();
}
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Есть ли возможность повторить миграцию?

Сообщение maleks »

Спасибо.
Смотрели что так запустить будет без всяких сайд эффектов? Типа изменения истории миграций, запуска других, то что происходит при migrate/to
Yii2 universal module sceleton - for basic and advanced templates
masson
Сообщения: 545
Зарегистрирован: 2012.07.03, 15:59

Re: Есть ли возможность повторить миграцию?

Сообщение masson »

Не смотрел.
А что еще может произойти кроме выполнения кода который написан в методе up() ?
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Есть ли возможность повторить миграцию?

Сообщение maleks »

Посмотрел, в принципе да, должно быть без проблем
Yii2 universal module sceleton - for basic and advanced templates
Ответить