Выпуск Flyway 4.1.0, инструмента для контроля версий БД


Представлен новый выпуск проекта Flyway, в рамках которого развивается инструментарий для сопровождения баз данных и синхронизации их структуры со связанным программным обеспечением. Flyway можно рассматривать как аналог системы контроля версий для БД, который выполняет задачу автоматизации отражения изменений в структуре базы данных для соответствия версии БД и версии программного обеспечения, работающего с этой БД.

Иными словами, Flyway позволяет привязать состояние структуры БД к версии приложения и изменять данную структуру в зависимости от выбранной версии программы. Например, при переходе на новую версию приложения Flyway позволяет на всех серверах привести схему хранения данных к новой версии. Flyway также даёт возможность быстро узнать какой версии ПО соответствует имеющаяся БД, проверить целостность схемы и в случае нарушения структуры (например, ручного добавления/удаления поля) исправить схему.

Код проекта написан на языке Java и распространяется под лицензией Apache 2.0. Flyway может работать с СУБД PostgreSQL, MySQL, MariaDB, Oracle, SQL Server, SQL Azure, DB2, DB2 z/OS, Google Cloud SQL Redshift, Vertica, EnterpriseDB, H2, Hsql, Derby и SQLite. Имеются встроенные средства для интеграции с системами сборки Maven, Gradle, Ant и SBT, а также плагины для Spring Boot, Dropwizard, Grails, Play, Griffon, Grunt и Ninja. Применение Flyway возможно на любых системах для которых доступен язык Java, в том числе Windows, macOS, Linux и Android.

В новой версии добавлена поддержка EnterpriseDB, возможность использования в PostgreSQL не работающих внутри транзакций конструкций (CREATE INDEX CONCURRENTLY, ALTER TYPE, VACUUM ), улучшена поддержка репликации MySQL, увеличена производительность массовых миграций.