Команды
Создание первой (пустой) миграции
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