Какой у вас опыт работы с Liquibase?

Ответ

Опыт: Около 3 лет.

Контекст: Использовал для управления миграциями баз данных в микросервисной архитектуре.

Основные задачи и навыки:

  • Написание changelog-файлов в форматах XML, YAML и SQL.
  • Версионирование миграций и работа с тегами (tagDatabase).
  • Интеграция с Spring Boot через свойства spring.liquibase.*.
  • Выполнение откатов (rollback), в том числе с использованием кастомных SQL-скриптов.
  • Интеграция в CI/CD-процессы для проверки миграций перед деплоем.

Пример (YAML changelog):

databaseChangeLog:
  - changeSet:
      id: 1
      author: dev
      changes:
        - createTable:
            tableName: users
            columns:
              - column:
                  name: id
                  type: BIGINT
                  autoIncrement: true
                  constraints:
                    primaryKey: true