Как работать с миграциями
14 декабря 2011
Что такое миграции, думаю, многие знают. Если нет, идея неплохо описана в документации Yii. Чтобы эффективно работать с миграциями и не выслушивать много матюков от членов команды, необходимо придерживаться нескольких простых правил:
- Не использовать модели. В идеале вообще ничего из основного кода не использовать. Код меняется, миграции новые разработчики запускают с первой по последнюю при том, что код у них свежий.
- Если миграция ушла в репозиторий и запускалась при этом нормально, исправлять её нельзя. Считайте, что вся команда её уже применила. Корректировки в этом случае делаются новой миграцией.
- Если миграция ушла в репозиторий и не запускалась при этом нормально, её необходимо поправить и как можно быстрее (именно ту миграцию, которая не применяется).
- Если используется MySQL, указывайте engine и collation. Умолчания не сервере могут отличаться.
- Ни в коем случае не стоит лезть в базу руками в обход миграций.
Комментарии RSS по email OK
Не понятен первый пункт. Для чего не использовать модели? Где ничего не использовать из основного кода?
Andrey, не стоит использовать модели в скриптах (создаваемых классах) миграций. Там же лучше не использовать ничего из основного кода (написанного в папке protected).
Илья, спасибо за ответ, так гораздо понятнее.