Как объединить несколько миграций django south в одну миграцию

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

Это вызвало много времени python manage.py migrate на свежем db.

Мне интересно, могу ли я объединить все существующие миграции в одну миграцию

2 ответов


Это было решено в Django 1.7 + есть новая команда управления ./manage.py squashmigrations appname, проверьте эту ссылку - https://docs.djangoproject.com/en/1.7/topics/migrations/#squashing-migrations


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

пример:

./manage.py squashmigrations core 0003_auto

посмотреть официальные документы

если вы хотите избавиться от всех проб и ошибок отходов, производимых во время разработки, удалите миграции из ваших приложений migrations каталог вместе со всеми упоминаниями вашего приложения в таблице SQL django_migrations и приложения фактические таблицы базы данных.

после запуска ./manage.py makemigrations и вы хорошо пошли. Это не рекомендуется для приложений, которые уже находятся в производственных целях.