Liquibase

Что это

Liquibase - утилита для версионирования структуры реляционной БД и миграции этой структуры с одной версии на другую.

Основные разделы

Для работы через console необходимо установить Liquibase на устройство.

Команды

Для всех запросов через консоль необходимо указывать параметры

update - обновление базы с помощью changeLog файла.

liquibase
    --url=jdbc:postgresql://localhost:5434/app
    --classpath=/home/.../.m2/repository/org/postgresql/postgresql/42.5.0/postgresql-42.5.0.jar
    --username=name
    --password=pass
    --changeLogFile=db.changelog-2.0.xml
    update
        

Spring properties

spring.liquibase.change-log - параметр для указания root changelog файла. В котором будут указаны все необходимые changelog файлы в include блоках.

Пример

spring.liquibase.change-log=classpath:db/changelog/db.changelog-root.xml
        

Changelog

Changelogs - file для описания изменений.

databaseChangeLog

databaseChangeLog - главный блок в котором описываются изменения.

changeSet

changeSet - блок в котором описываются изменения.

preConditions

preConditions - блок для описания условий для выполнения изменений.

rollback

rollback - тег для добавления SQL команды, которые будут выполнены во время выполнения rollback команды.

Варианты rollback

databasechangelog table

databasechangelog - таблица для метаданных Liquibase.

Поля

  1. id - id изменения.
  2. author
  3. filename - путь к changelog файлу.
  4. dateexecuted
  5. orderexecuted
  6. exectype
  7. md5sum - хэшсумма файла.
  8. description
  9. comments
  10. tag
  11. liquibase
  12. contexts
  13. labels
  14. deployment_id