migrate

Применение миграций схемы БД (стандартная команда Django)

Зачем нужна

Команда применяет к БД ожидающие миграции — изменения структуры таблиц, индексы, добавление/удаление полей. Без свежих миграций сервер новой версии не работает корректно. Обычно команда вызывается автоматически инсталлятором; ручной запуск нужен при нестандартных сценариях

Типичные случаи применения:

  • ручной запуск миграций после восстановления базы из старого backup при работающем новом сервере

  • применение миграций отдельного приложения после ручного вмешательства в БД

  • --plan — посмотреть, какие миграции будут применены, без записи (аудит перед обновлением)

  • откат миграций приложения до конкретной (например, при откате версии сервера)

Важно

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

Синтаксис

rude migrate [--noinput] [--database {default}] [--fake] [--fake-initial] [--plan] [--run-syncdb] [--check] [--prune] [app_label] [migration_name]

Примечание

Применяет ожидающие миграции к базе данных. Без параметров мигрирует все приложения. Используется при обновлении сервера и установке. Полную документацию см. в Django docs

Примеры

Применить все миграции:

rude migrate

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

rude migrate account

Откатить миграции приложения до определённой:

rude migrate account 0010_some_migration

Служебная команда сервера, обычно вызывается автоматически при установке/обновлении