Веснова — инструмент миграций схем баз данных с упором на обратимость: каждая миграция несёт пары «вверх/вниз», а перед применением инструмент проверяет фактическую схему и предупреждает о потенциально разрушающих шагах.
Модель миграций
- файл миграции — пара SQL-блоков
upиdown; - порядок задаётся монотонной нумерацией, параллельные ветки запрещены;
- журнал применённых миграций — таблица в самой базе;
- проверка схемы (
schema-check) сравнивает ожидаемое и фактическое.
Чем отличается
Классические инструменты миграций применяют SQL «как написано». Веснова перед каждым шагом строит дифф фактической схемы и падает раньше, если миграция опирается на объект, которого нет — самая частая причина «наполовину применённых» миграций.
Поддерживаемые СУБД
| СУБД | Статус | Особенности |
|---|---|---|
| PostgreSQL 13+ | полная | транзакционные DDL |
| MySQL 8 / MariaDB 10.6+ | полная | DDL нетранзакционный — см. rollback |
| SQLite 3.35+ | ограниченная | без конкурентных записей |