Skip to main content

Команды

Создание первой (пустой) миграции

alembic revision -m "Empty Init"

Обновление базы данных до текущей версии

alembic upgrade head

Автогенерация миграции

alembic revision --autogenerate -m "Added Cookie model"

Поддерживаемые и неподдерживаемые действия при автоматической миграции

Тип элементаПоддерживаемыеНеподдерживаемые
ТаблицыДобавление и удалениеИзменение имени
СтолбецДобавление, удаление, изменение нулевого статуса на столбцеИзменение имени
ИндексОсновные изменения в индексах и явно обозначенных уникальных ограничениях, поддержка автоматической генерации индексов
и уникальных ограничений

Ограничения
Ограничения без явного имени
КлючиПереименование
Типы
Типы, которые явно не поддерживаются базой данных

Ручное создание миграций

На примере изменения имени таблицы

  • Изменить имя.
  • Выполнить генерацию миграции
alembic revision -m "Renaming table"
  • В созданном файле изменить upgrade/downgrade
def upgrade():
    op.rename_table('old_name', 'new_name')
def downgrade():
    op.rename_table('new_name', 'old_name')
  • Выполнить миграцию
alembic upgrade head