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

«Какой у вас опыт работы с Liquibase?» — вопрос из категории Базы данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Опыт: Около 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