Старые миграции нужны для воспроизводимого создания схемы, обновления существующих установок и зависимостей графа. Удалять их произвольно нельзя, но управляемое объединение миграций возможно.
Почему нельзя удалять старые файлы миграций из Git-репозитория?
Старые миграции нужны для воспроизводимого создания схемы, обновления существующих установок и зависимостей графа. Удалять их произвольно нельзя, но управляемое объединение миграций возможно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Старые миграции нужны для воспроизводимого создания схемы, обновления существующих установок и зависимостей графа. Удалять их произвольно нельзя, но управляемое объединение миграций возможно.
В Django используют squash: сначала новая объединённая миграция сосуществует со старыми, пока все нужные окружения не обновятся. Затем корректируют зависимости и удаляют заменённую историю по предусмотренной процедуре. Отдельно проверяют миграции данных и развёртывание с нуля. Просто удалить файлы потому, что production уже обновлён, опасно: тестовая база или отстающее окружение ещё могут нуждаться в них.
Источник: docs.djangoproject.com.