Как управлять миграциями Django при фиксации изменений из локальной разработки в удаленную?

В процессе разработки Django мне приходится создавать множество миграций, чтобы добраться до того, что я ищу. Например, я могу изменить имя поля, а позже решить вернуть его на прежнее место. Поэтому многие из моих миграций - это просто игра с ORM.

Я предполагаю, что мне не нужно, чтобы они все отображались в удаленном репозитории (что может быть неверным предположением!).

Я знаю, что исключение миграций через .gitignore не является правильным способом. Также нельзя включать случайные миграции в коммиты, поскольку все они связаны друг с другом.

До сих пор я сквош свои миграции каждый раз, когда вносил изменения:

squashmigrations app_label [start_migration_name] migration_name

и затем зафиксировать.

Что было бы лучшим решением?

Я думаю, что ваше решение хорошее.

Другим решением, если изменения только локальные, является ручное удаление новых миграций и повторное выполнение makemigrations.

И последнее, но не менее важное: если вас беспокоит производительность, документация говорит, что вам не стоит беспокоиться:

Вам предлагается свободно выполнять миграции и не беспокоиться о том, сколько их у вас; код миграции оптимизирован для работы с сотнями за раз без значительного замедления.

Вернуться на верх