Команда migrate
Команда migrate применяется для синхронизации состояния базы данных
с текущим набором миграций, созданных командой makemigrations.
Она выполняет все непримененные миграции в порядке их создания,
а также позволяет откатывать изменения до определенного состояния.
Команда работает на уровне проекта и принимает аргументы для
указания конкретного приложения и цели миграции.
Синтаксис
python manage.py migrate [app_name] [migration_name]
Пример
Применим все непримененные миграции для всех приложений:
python manage.py migrate
Результат выполнения команды:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, myapp, sessions
Running migrations:
Applying myapp.0001_initial... OK
Applying myapp.0002_add_status_field... OK
Пример
Применим миграции только для конкретного приложения myapp:
python manage.py migrate myapp
Результат выполнения команды:
Operations to perform:
Apply all migrations: myapp
Running migrations:
No migrations to apply.
Пример
Откатим миграции приложения myapp до начального состояния
(удалим все таблицы приложения):
python manage.py migrate myapp zero
Результат выполнения команды:
Operations to perform:
Unapply all migrations: myapp
Running migrations:
Rendering model states... DONE
Unapplying myapp.0002_add_status_field... OK
Unapplying myapp.0001_initial... OK
Пример
Откатим миграции до определенного состояния (указав имя миграции):
python manage.py migrate myapp 0001
Результат выполнения команды:
Operations to perform:
Target specific migration: 0001_initial, from myapp
Running migrations:
Rendering model states... DONE
Unapplying myapp.0002_add_status_field... OK
Пример
Применим миграции с указанием конкретного имени миграции (переход к определенному состоянию):
python manage.py migrate myapp 0002
Результат выполнения команды:
Operations to perform:
Target specific migration: 0002_add_status_field, from myapp
Running migrations:
Rendering model states... DONE
Applying myapp.0002_add_status_field... OK
Смотрите также
-
команда
makemigrations,
которая создает новые миграции на основе изменений в моделях -
команда
showmigrations,
которая отображает список всех миграций и их статус -
команда
sqlmigrate,
которая показывает SQL-запросы для указанной миграции -
команда
squashmigrations,
которая объединяет несколько миграций в одну