Можно использовать Liquibase для проверки схемы БД, однако она не совсем предназначена для этого.
Так, например, если вы хотите всегда проверять, существует ли определенная таблица или нет, вы можете сделать следующее:
<changeSet author="author_name" id="changeset_id" runAlways="true">
<preConditions onFail="HALT">
<tableExists tableName="foo_bar"/>
</preConditions>
<comment>Table "foo_bar" exists.</comment>
</changeSet>
Этот набор изменений ничего не делает, но проверяет, существует ли таблица foo_bar
. Атрибут
runAlways="true"
сообщит Liquibase о выполнении набора изменений при каждом запуске приложения. .
onFail="HALT"
выдаст ошибку, если таблица foo_bar
не существует, следовательно, если предварительные условия не были выполнены.