Представлен (https://flywaydb.org/blog/flyway-4.1.0.html) новый выпуск проекта Flyway (https://flywaydb.org/), в рамках которого развивается инструментарий для сопровождения баз данных и синхронизации их структуры со связанным программным обеспечением. Flyway можно рассматривать как аналог системы контроля версий для БД, который выполняет задачу автоматизации отражения изменений в структуре базы данных для соответствия версии БД и версии программного обеспечения, работающего с этой БД.
Иными словами, Flyway позволяет привязать состояние структуры БД к версией приложения и изменять данную структуру в зависимости от выбранной версии программы. Например, при переходе на новую версию приложения Flyway позволяет на всех серверах привести схему хранения данных к новой версии, а в случае отката на прошлую версию ПО - откатить изменение схемы в БД. Flyway также даёт возможность быстро узнать какой версии ПО соответствует имеющаяся БД, проверить целостность схемы и в случае нарушения структуры (например, ручного добавления/удаления поля) исправить схему.
Код проекта написан на языке Java и распространяется (https://github.com/flyway/flyway) под лицензией 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, увеличена производительность массовых миграций.
URL: https://flywaydb.org/blog/flyway-4.1.0.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=46050