Какие использовал миграции в SQLAlchemy

Python Middle Без компании
Какие использовал миграции в SQLAlchemy
Ответы
В SQLAlchemy миграции обычно выполняются с помощью **Alembic** — инструмента для управления изменениями схемы БД. **Основные команды Alembic:** - `alembic init migrations` — создает папку с конфигурацией. - `alembic revision --autogenerate -m "message"` — генерирует миграцию на основе изменений моделей. - `alembic upgrade head` — применяет миграции. - `alembic downgrade -1` — откатывает последнюю миграцию. **Пример:** ``` # Модель до изменения class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) # После добавления поля `email` class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) email = Column(String, nullable=True) ``` Затем: ``` alembic revision --autogenerate -m "Add email to User" alembic upgrade head ``` **Нюансы:** - `autogenerate` не всегда корректно определяет изменения (например, переименование столбцов). - Миграции могут включать **сырой SQL** для сложных операций. - Важно тестировать миграции на тестовой БД перед продакшеном.