@lebedev121

Изменение истории миграций Yii2?

Уже ночь, я решил почитать документацию, но видимо сильно туплю. Подскажите плиз в каких случаях может потребоваться изменение истории миграции?
5bc65eeb01920055844650.png

И ещё вопрос. Допустим я создал таблицу news, уже заполнил её данными и через неделю решаю сменить тип поля content с text на longtext. Как мне это сделать без потери данных? Можно ли как-то такие изменения производить в моём любимом phpmyadmin, и затем сделать так, чтобы это учлось в истории миграций.? Или здесь не обойтись без создания новой миграции?
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 1
@idexdv
Такое изменение типа можно выполнить и без отката миграции.

1. Меняй тип поля в базе (text -> longtext) с помощью PMA - пройдёт без проблем (боишься - сделай backup).
2. Руками исправь в файле миграции тип поля
- если был
'content' => $this->text(), то замени на 'content' => 'LONGTEXT', (или 'MEDIUMTEXT', если нужно меньше).

Всё будет работать!

Если же нужно железобетонный вариант, тогда
1. Создать новый файл миграции,
2. Указать в нём комманду смены типа поля в БД.

Минусы: - лишний файл миграции.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы