Я думаю, вы можете использовать Liquibase нестандартным способом.
Предполагаемый шаблон использования заключается в том, что вы создаете необходимые изменения схемы, создавая «набор изменений» Liquibase (в XML, JSON или Liquibase structured SQL), а затем используя liquibase update
, чтобы развернуть это изменение для каждого из экземпляров базы данных ,
Во втором шаблоне использования вы внесете изменения непосредственно в базу данных, используя любой инструмент манипуляции с базами данных, который вы предпочитаете, а затем с помощью liquibase diffChangelog
, чтобы добавить соответствующий набор изменений в ваш файл изменений. После создания набора изменений вам необходимо использовать команду liquibase changelogsync
, чтобы заполнить таблицу Liquibase DATABASECHANGELOG
в базе данных информацией о том, что новый набор изменений уже «развернут» в базе данных. Второе использование требует, чтобы вы либо:
- сравнить два живых базы данных (например, вы могли бы сравнить «тест» или базы данных «промежуточные» в зависимости от того, баз данных вручную изменены)
- создать «снимок» баз данных перед внесением изменений вручную, затем внесите изменения, а затем сравните базу данных с моментальным снимком. This page on the Liquibase blog описывает, как использовать команду
liquibase snapshot
для создания моментального снимка и как использовать этот снимок как «автономную базу данных» для сравнения.
This page in the Liquibase documentation содержит более подробную информацию об использовании шаблонов при начале работы с Liquibase.