Команда makemigrations
Команда makemigrations используется для автоматического создания файлов миграций на основе изменений, внесенных в модели Django. Она анализирует разницу между текущим состоянием моделей и предыдущими миграциями, после чего генерирует новые файлы миграций, которые содержат инструкции для изменения схемы базы данных. Команда принимает различные аргументы для настройки процесса создания миграций.
Синтаксис
python manage.py makemigrations [app_label] [options]
Где:
app_label - опциональное имя приложения, для которого создаются миграции. Если не указано, команда создает миграции для всех приложений, в которых обнаружены изменения.
options - дополнительные флаги и параметры, управляющие поведением команды.
Основные опции
Команда поддерживает следующие опции:
--name <name> - задает пользовательское имя для файла миграции.
--empty - создает пустую миграцию, которую можно заполнить вручную.
--fake - помечает миграцию как примененную без фактического выполнения SQL-команд.
--check - проверяет, есть ли изменения в моделях, но не создает миграции.
Пример
Создадим миграцию для приложения 'blog' с пользовательским именем:
python manage.py makemigrations blog --name add_status_field
Результат выполнения команды:
Migrations for 'blog':
blog/migrations/0002_add_status_field.py
- Add field status to article
Пример
Создадим пустую миграцию для добавления пользовательских операций:
python manage.py makemigrations blog --empty --name custom_operation
Результат выполнения команды:
Migrations for 'blog':
blog/migrations/0003_custom_operation.py
Пример
Проверим наличие изменений в моделях без создания миграций:
python manage.py makemigrations --check
Результат выполнения команды при наличии изменений:
"System check identified some issues:"
"Your models have changes that are not yet reflected in a migration."
Смотрите также
-
команда
migrate,
которая применяет созданные миграции к базе данных -
команда
sqlmigrate,
которая показывает SQL-запросы для миграции -
команда
showmigrations,
которая отображает список всех миграций и их статус -
команда
squashmigrations,
которая объединяет несколько миграций в одну