Когда вы начинаете новый проект, в модели вносится много изменений, поэтому мне проще отредактировать существующую миграцию и запустить db:clean
или db:reset
, чем создать новую миграцию. Я делаю это, когда приложение не запущено в производство, что означает, что я могу без проблем сбросить/очистить базу данных, и я работаю в одиночку или в составе небольшой команды.
Но сегодня я наткнулся на следующий совет в Руководстве по Rails, говорящий, что это не очень хорошая идея и не рекомендуется редактировать существующие миграции:
Редактирование существующих миграций — не лучшая идея: вы создадите дополнительную работу для себя и своих коллег и создадите большие головные боли, если существующая версия миграции уже была запущена на рабочих машинах. Вместо этого вы должны написать новую миграцию, которая выполняет необходимые вам изменения. Редактирование только что сгенерированной миграции, которая еще не была зафиксирована в системе управления версиями (или, в более общем смысле, которая не была распространена за пределы вашей машины разработки), относительно безвредна.
Я хочу знать:
- с какими подводными камнями я могу столкнуться?
- Применяются ли эти подводные камни в моем случае (стадия разработки, работа соло)?