Могут ли Flyway или Liquibase создать сценарий обновления вместо непосредственного обновления базы данных?

Сначала немного предыстории. У меня есть набор приложений Java, некоторые из которых основаны на JPA, некоторые нет. Для создания своих баз данных в настоящее время я использую экспорт схемы Hibernates для генерации сценариев создания для тех, кто использует JPA. Те, кто не использует JPA, я создаю сценарии вручную. Затем они запускаются во время установки приложения с помощью ANT. Для обновлений программа установки приложения просто применяет сценарии обновления к базе данных.

Чтобы улучшить управление обновлениями базы данных, я смотрю на Flyway и Liquibase. Похоже, что оба почти делают то, что я хочу (за исключением: я сейчас предпочитаю Flyway из-за всех существующих ранее сценариев SQL / DDL). Проблема, которую я вижу, заключается в том, что они оба обновляют базу данных напрямую. Это хорошо для многих установок, но не для всех.

Я хотел бы запустить Flyway / Liquibase для базы данных и сгенерировать скрипт обновления, который включает все обновления, необходимые для обновления базы данных, включая любые изменения, которые Flyway / Liquibase должен внести в свои собственные таблицы. Это позволило бы мне (или, что более важно, администратору базы данных) запускать скрипт обновления вне приложений для обновления базы данных. Затем я мог бы использовать Flyway / Liquibase в своем приложении исключительно для проверки актуальности базы данных.

Возможно ли это сделать с помощью Flyway, Liquibase или любого другого инструмента?

Ответы на вопрос(5)

Ваш ответ на вопрос