Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: migration, alembic, schema

Что такое миграция схемы/данных? Как их выполнять?

Вопрос объясняет процесс миграций в ORM и способы их применения.

Короткий ответ

Миграция — это изменение структуры БД (схемы) или перенос данных между версиями. Инструменты: Alembic (SQLAlchemy), Django Migrations. Миграции создаются автоматически или вручную, затем применяются командой upgrade.

Длинный ответ

1. Типы миграций:

  • Схемные: Добавление/удаление таблиц, колонок.

  • Данные: Наполнение БД (например, справочники).

2. Процесс работы (Alembic):

# 1. Создание миграции
alembic revision --autogenerate -m "Add user table"

# 2. Применение миграции
alembic upgrade head

3. Пример миграции:

# Файл миграции
from alembic import op
import sqlalchemy as sa

def upgrade():
    op.create_table(
        'users',
        sa.Column('id', sa.Integer, primary_key=True),
        sa.Column('name', sa.String(50))

Вывод:
Миграции помогают безопасно изменять БД при развитии приложения.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    1

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#migration

#alembic

#schema

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.