Система контроля версий базы данных в Flyway работает следующим образом: 1
- Flyway проверяет схему базы данных, чтобы найти её таблицу метаданных (по умолчанию SCHEMA_VERSION). 1 Если такой таблицы нет, она создаётся. 1
- Flyway сканирует путь к классам приложения на доступные миграции. 1
- Flyway сравнивает миграции с таблицей метаданных. 1 Если номер версии ниже или равен версии, отмеченной как текущей, миграцию игнорируют. 1
- Оставшиеся миграции помечаются как ожидающие применения. 1 Они сортируются по номеру версии и выполняются в порядке. 1
- После применения каждой миграции таблица метаданных обновляется соответствующим образом. 1
Для контроля работы с миграциями (какие миграции уже применены, кем и когда) утилита Flyway добавляет в базу данных таблицу flywayschemahistory. 5