Вопрос проверяет понимание процесса изменения структуры базы данных и способов его автоматизации.
Миграция базы данных — это процесс изменения её схемы: добавление таблиц, изменение столбцов и т.п. Обычно выполняется с помощью инструментов, таких как Flyway, Liquibase или встроенных возможностей ORM. Миграции позволяют контролировать изменения структуры, хранить историю и синхронизировать изменения между разработчиками и окружениями.
Что такое миграция:
Это управляемое изменение схемы базы данных. Оно включает:
создание или удаление таблиц,
изменение типов полей,
добавление индексов и ограничений.
Почему это важно:
Изменения сохраняются в виде файлов или скриптов.
Можно быстро применить схему к новым окружениям.
Уменьшается риск конфликтов при командной разработке.
Как выполнять миграции:
Ручные SQL-скрипты:
Создаются вручную и запускаются вручную или через CI/CD.
Простые, но требуют дисциплины.
Автоматические инструменты миграций:
Flyway — применяет SQL-файлы в определённом порядке.
Liquibase — использует XML/JSON/YAML или SQL для миграций.
ORM-инструменты (например, Sequelize, TypeORM, Django ORM):
позволяют генерировать миграции автоматически на основе моделей.
Когда использовать:
Обязательно в проектах, где есть несколько разработчиков или окружений.
Подходит и для QA: можно легко восстановить состояние БД.