Как управлять миграциями Django при фиксации изменений из локальной разработки в удаленную?
В процессе разработки Django мне приходится создавать множество миграций, чтобы добраться до того, что я ищу. Например, я могу изменить имя поля, а позже решить вернуть его на прежнее место. Поэтому многие из моих миграций - это просто игра с ORM.
Я предполагаю, что мне не нужно, чтобы они все отображались в удаленном репозитории (что может быть неверным предположением!).
Я знаю, что исключение миграций через .gitignore не является правильным способом. Также нельзя включать случайные миграции в коммиты, поскольку все они связаны друг с другом.
До сих пор я сквош свои миграции каждый раз, когда вносил изменения:
squashmigrations app_label [start_migration_name] migration_name
и затем зафиксировать.
Что было бы лучшим решением?
Я думаю, что ваше решение хорошее.
Другим решением, если изменения только локальные, является ручное удаление новых миграций и повторное выполнение makemigrations.
И последнее, но не менее важное: если вас беспокоит производительность, документация говорит, что вам не стоит беспокоиться:
Вам предлагается свободно выполнять миграции и не беспокоиться о том, сколько их у вас; код миграции оптимизирован для работы с сотнями за раз без значительного замедления.