Проверьте, была ли применена миграция Django к БД
У меня есть проект django, и я хочу обновить базу данных MySQL из предыдущей версии кодовой базы, чтобы она была совместима с текущей версией.
У меня есть все миграции для проекта, но я не знаю, какая из них была последней, примененной к этой альтернативной базе данных.
Я могу попытаться определить это вручную, но мне интересно, есть ли более простой автоматизированный способ определения первого непримененного перехода.
Вы можете работать с командой showmigrations
[Django-doc], это создаст список миграций, где будет отмечен флажок, если миграция была применена, так:
python3 manage.py showmigrations
или для конкретного приложения:
python3 manage.py showmigrations app_name
Например, для auth
возможным результатом будет:
$ python manage.py showmigrations auth
auth
[X] 0001_initial
[X] 0002_alter_permission_name_max_length
[X] 0003_alter_user_email_max_length
[X] 0004_alter_user_username_opts
[X] 0005_alter_user_last_login_null
[X] 0006_require_contenttypes_0002
[X] 0007_alter_validators_add_error_messages
[X] 0008_alter_user_username_max_length
[X] 0009_alter_user_last_name_max_length
[X] 0010_alter_group_name_max_length
[ ] 0011_update_proxy_permissions
[ ] 0012_alter_user_first_name_max_length
Это означает, что все миграции были применены, кроме двух последних.