Команда showmigrations

Команда showmigrations применяется в терминале и показывает все миграции, которые были созданы или применены к базе данных. Она позволяет увидеть, какие миграции уже выполнены, а какие ещё ожидают применения. Команда может принимать аргументы для фильтрации вывода и отображения дополнительной информации о зависимостях между миграциями.

Синтаксис

bashpython manage.py showmigrations [app_label] [options]

Пример

Базовый вывод всех доступных миграций для всех приложений:

bashpython manage.py showmigrations

Результат выполнения команды:

bashadmin
 [X] 0001_initial
 [X] 0002_logentry_remove_auto_add
 [X] 0003_logentry_add_action_flag_choices
auth
 [X] 0001_initial
 [X] 0002_alter_permission_name_max_length
 [X] 0003_alter_user_email_max_length
 [ ] 0004_alter_user_username_opts
contenttypes
 [X] 0001_initial
 [X] 0002_remove_content_type_name
myapp
 [X] 0001_initial
 [ ] 0002_article_created_at
 [ ] 0003_article_status

Где [X] означает уже применённую миграцию, а [ ] - ещё не применённую.

Пример

Просмотр миграций только для конкретного приложения myapp:

bashpython manage.py showmigrations myapp

Результат выполнения команды:

bashmyapp
 [X] 0001_initial
 [X] 0002_article_created_at
 [ ] 0003_article_status
 [ ] 0004_article_category

Пример

Отображение зависимостей между миграциями с использованием флага --plan:

bashpython manage.py showmigrations --plan

Результат выполнения команды:

bash[ ]  myapp.0004_article_category
[ ]  myapp.0003_article_status
[X]  myapp.0002_article_created_at (..) dependencies: auth.0010_alter_group_name_max_length, contenttypes.0002_remove_content_type_name
[X]  myapp.0001_initial
[X]  auth.0001_initial

Пример

Просмотр только неприменённых миграций с флагом --list:

bashpython manage.py showmigrations --list

Результат выполнения команды:

bashmyapp
 [ ] 0003_article_status
 [ ] 0004_article_category
auth
 [ ] 0004_alter_user_username_opts

Смотрите также

  • команда migrate,
    которая применяет миграции к базе данных
  • команда makemigrations,
    которая создаёт новые миграции на основе изменений в моделях
  • команда sqlmigrate,
    которая показывает SQL-запросы для конкретной миграции
  • команда squashmigrations,
    которая объединяет несколько миграций в одну