Gymterview
junior

Какие основные команды есть в Liquibase?

Команды Liquibase делятся на четыре категории: обновление, откат, информационные и вспомогательные.

Команды обновления

Команда Описание
update Применить все невыполненные changeset-ы
updateCount <N> Применить следующие N changeset-ов
updateSQL Вывести SQL, который будет выполнен (dry-run), без применения
updateTestingRollback Применить changeset, откатить, применить снова — для проверки rollback

Команды отката

Команда Описание
rollback <tag> Откатить до указанного тега
rollbackCount <N> Откатить последние N changeset-ов
rollbackToDate <date> Откатить до указанной даты
rollbackSQL <tag> Вывести SQL для отката (без выполнения)

Информационные команды

Команда Описание
status Показать список невыполненных changeset-ов
history Показать историю выполненных changeset-ов
validate Проверить changelog на корректность (синтаксис, checksum)

Вспомогательные команды

Команда Описание
diff Сравнить две БД и показать различия
diffChangeLog Сравнить две БД и сгенерировать changelog с различиями
generateChangeLog Сгенерировать changelog из существующей БД
clearCheckSums Сбросить все контрольные суммы
releaseLocks Снять блокировку в DATABASECHANGELOGLOCK
tag <name> Пометить текущее состояние БД тегом
dropAll Удалить все объекты из схемы (осторожно!)
Пример типичного использования
# Проверить, что changelog корректен
liquibase validate

# Посмотреть, что будет выполнено
liquibase status

# Посмотреть SQL без выполнения
liquibase updateSQL

# Применить миграции
liquibase update

# Пометить текущее состояние
liquibase tag release-1.0

На собеседовании: достаточно знать основные команды (update, rollback, status, validate) и объяснить, зачем нужен updateSQL. Частая ошибка — не упомянуть validate, хотя это первый шаг перед любым деплоем.