Что такое миграция схемы в БД
Python
Middle
Без компании
Что такое миграция схемы в БД
Ответы
Миграция схемы БД — это процесс изменения структуры базы данных (таблиц, индексов, отношений) для соответствия новым требованиям приложения. Она позволяет безопасно вносить изменения без потери данных.
**Пример с Alembic (для SQLAlchemy):**
```
# Создание миграции
alembic revision -m "add user table"
# В файле миграции:
def upgrade():
op.create_table(
'users',
sa.Column('id', sa.Integer, primary_key=True),
sa.Column('name', sa.String(50), nullable=False)
)
def downgrade():
op.drop_table('users')
```
**Ключевые аспекты:**
- Версионность (каждое изменение — отдельная миграция)
- Возможность отката (downgrade)
- Автоматическое применение изменений
- Совместимость с CI/CD
Миграции особенно важны при работе в команде и на production, так как гарантируют согласованность схемы БД на всех окружениях.