Привет хабр, много было уже на писано на тему liquibase и Maven, но я не смог найти ничего про liquibase-maven-plugin и его настройку, а ведь это очень удобный плагин. Вот я и решил написать о том, как его настроить.
Плагин liquibase-maven-plugin предназначен для управления liquibase из Maven. Вот пример команды mvn liquibase:update, для обновления базы данных.
Для начала предлагаю разобраться с тем, что такое Maven и liquibase.

Мавен — это инструмент для сборки Java проекта: компиляции, создания jar, создания дистрибутива программы, генерации документации. Более подробно о самом Maven можно прочитать в статье Apache Maven — основы

Liquibase — это система управления миграциями базы данных. Для ознакомления с liquiabase так же можно прочитать в статье Управление миграциями БД с Liquibase
После того, как мы разобрались с Maven и liquibase, можно перейти к созданию maven проекта и настройке liquibase плагина.
Для начала создадим новый Maven проект, его структура будет выглядеть следующим образом:

Соответственно, pom файл, данного проекта, будет выглядеть:
Далее в папке «src/main/resources» создадим папку «liquibase» в которой у нас будут храниться changelog файлы.
В папке liquibase создадим 2 файла:
Плагин liquibase-maven-plugin предназначен для управления liquibase из Maven. Вот пример команды mvn liquibase:update, для обновления базы данных.
Для начала предлагаю разобраться с тем, что такое Maven и liquibase.

Мавен — это инструмент для сборки Java проекта: компиляции, создания jar, создания дистрибутива программы, генерации документации. Более подробно о самом Maven можно прочитать в статье Apache Maven — основы

Liquibase — это система управления миграциями базы данных. Для ознакомления с liquiabase так же можно прочитать в статье Управление миграциями БД с Liquibase
После того, как мы разобрались с Maven и liquibase, можно перейти к созданию maven проекта и настройке liquibase плагина.
Для начала создадим новый Maven проект, его структура будет выглядеть следующим образом:

Соответственно, pom файл, данного проекта, будет выглядеть:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>liquibaseTest</groupId>
<artifactId>ru.test.liquibase</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
Далее в папке «src/main/resources» создадим папку «liquibase» в которой у нас будут храниться changelog файлы.
В папке liquibase создадим 2 файла:
- db.changelog-master.xml — основной файл миграции, в него с помощью тега
включаются файлы ченджлогов каждой версии
db.changelog-0.1.0.xml — ченджлог файл, содержащий ченджсеты. Каждый ченджсет это одна транзакция