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