Как работает Alembic
Python
Middle
Без компании
Как работает Alembic
Ответы
Alembic — это легковесная миграционная система для SQLAlchemy. Она позволяет управлять изменениями в структуре БД через миграции (версионирование схемы).
**Основные компоненты:**
- **Миграции** — Python-скрипты с изменениями (upgrade/downgrade).
- **Env.py** — конфигурация подключения и запуска миграций.
- **Alembic CLI** — команды для создания/применения миграций.
**Пример работы:**
```
# Создание миграции
alembic revision -m "add users table"
# Применение миграции
alembic upgrade head
```
**Как это работает:**
- Генерируется миграция на основе моделей SQLAlchemy или вручную.
- Применяется через `upgrade`, откатывается через `downgrade`.
- Версии хранятся в специальной таблице `alembic_version`.
**Плюсы:**
- Интеграция с SQLAlchemy.
- Поддержка транзакций.
- Гибкость (можно кастомизировать миграции).
**Минусы:**
- Требует ручного разрешения конфликтов.
- Нет встроенной поддержки NoSQL.