<rmcreative>

RSS

Как работать с миграциями

14 декабря 2011

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

  • Не использовать модели. В идеале вообще ничего из основного кода не использовать. Код меняется, миграции новые разработчики запускают с первой по последнюю при том, что код у них свежий.
  • Если миграция ушла в репозиторий и запускалась при этом нормально, исправлять её нельзя. Считайте, что вся команда её уже применила. Корректировки в этом случае делаются новой миграцией.
  • Если миграция ушла в репозиторий и не запускалась при этом нормально, её необходимо поправить и как можно быстрее (именно ту миграцию, которая не применяется).
  • Если используется MySQL, указывайте engine и collation. Умолчания не сервере могут отличаться.
  • Ни в коем случае не стоит лезть в базу руками в обход миграций.

Комментарии RSS

  1. №5670
    Andrey
    Andrey 15 дек. 2011 г., 10:05:01

    Не понятен первый пункт. Для чего не использовать модели? Где ничего не использовать из основного кода?

  2. №5673
    Илья
    Илья 15 дек. 2011 г., 12:02:59

    Andrey, не стоит использовать модели в скриптах (создаваемых классах) миграций. Там же лучше не использовать ничего из основного кода (написанного в папке protected).

  3. №5675
    Andrey
    Andrey 15 дек. 2011 г., 13:14:56

    Илья, спасибо за ответ, так гораздо понятнее.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.