@EvgMul

Как в yii1 выполнить конкретную миграцию?

Здравствуйте. Предположим, у меня есть 10 непримененных миграций. Мне требуется выполнить только одну из них, которая находится в середине списка. Подскажите, пожалуйста, какой командой это сделать?
Заранее благодарен всем отозвавшимся.
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Миграции это версионирование базы данных.

Логически не может быть такого, что миграция в середине вам нужна, а перед ними нет. Так как перед ними могут быть зависимости для последующих.

Например, есть 6 миграций. Первые 3 создают таблицы. Следующие 3 добавляют в них новые поля. Если вы примените только последние 3, то у вас выйдет ошибка «такой таблицы нет в БД». Поэтому, взять и применить миграцию из середины нельзя и не имеет никакого смысла. Можно лишь привести БД к определенному состоянию. Подробнее есть в документации.

Однако, если вам очень нужно это сделать, то есть лайфхак. Удалите все миграции из папки, кроме тех, которые нужно применить и примените их. Затем верните в папку ранее удаленные миграции. Но так использовать не рекомендуется. Это костыль!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы