Команда squashmigrations
Команда squashmigrations применяется к приложению и объединяет указанный диапазон миграций в один файл. Она принимает имя приложения и начальную и конечную миграции в качестве аргументов. Результатом выполнения команды является новый файл миграции, который содержит все изменения из объединённых миграций. Это полезно для поддержания порядка в проекте с большим количеством миграций.
Синтаксис
python manage.py squashmigrations app_name migration_name_start migration_name_end
Пример
Объединим миграции приложения 'myapp' с 0001 по 0004:
python manage.py squashmigrations myapp 0001 0004
Результат выполнения команды:
"Will squash the following migrations:"
" - 0001_initial"
" - 0002_add_fields"
" - 0003_add_indexes"
" - 0004_add_constraints"
"Optimizing..."
"Created new squashed migration 0005_squashed_0001_0004.py"
Пример
Объединим миграции с использованием опции --squashed-name для задания имени нового файла:
python manage.py squashmigrations myapp 0002 0005 --squashed-name my_squashed_migration
Результат выполнения команды:
"Will squash the following migrations:"
" - 0002_add_fields"
" - 0003_add_indexes"
" - 0004_add_constraints"
" - 0005_add_triggers"
"Optimizing..."
"Created new squashed migration my_squashed_migration.py"
Пример
Объединим все миграции приложения, начиная с 0001, с использованием опции --noinput для пропуска подтверждения:
python manage.py squashmigrations myapp 0001 0008 --noinput
Результат выполнения команды:
"Will squash the following migrations:"
" - 0001_initial"
" - 0002_add_fields"
" - 0003_add_indexes"
" - 0004_add_constraints"
" - 0005_add_triggers"
" - 0006_add_new_model"
" - 0007_add_fields_to_new_model"
" - 0008_add_indexes_to_new_model"
"Optimizing..."
"Created new squashed migration 0009_squashed_0001_0008.py"
Пример
Объединим миграции с использованием опции --verbosity для управления уровнем детализации вывода:
python manage.py squashmigrations myapp 0001 0006 --verbosity 0
Результат выполнения команды (при verbosity=0 вывод отсутствует):
""
Смотрите также
-
команда
makemigrations,
которая создаёт новые файлы миграций на основе изменений в моделях -
команда
migrate,
которая применяет миграции к базе данных -
команда
showmigrations,
которая отображает список всех миграций и их статус -
команда
sqlmigrate,
которая показывает SQL-запросы для указанной миграции