За счёт чего Liquibase валидирует целостность применяемых DDL-изменений?

Liquibase сопоставляет changeset с журналом DATABASECHANGELOG и проверяет его checksum. Это обнаруживает изменения уже применённого changeset, но не доказывает отсутствие drift в самой БД.

Короткий ответ

Что ответить на собеседовании

Liquibase сопоставляет changeset с журналом DATABASECHANGELOG и проверяет его checksum. Это обнаруживает изменения уже применённого changeset, но не доказывает отсутствие drift в самой БД.

Подробный разбор

Ответ с пояснениями

Liquibase сопоставляет changeset с журналом DATABASECHANGELOG и проверяет его checksum. Это обнаруживает изменения уже применённого changeset, но не доказывает отсутствие drift в самой БД.

Идентификация changeset учитывает id, author и путь, а сохранённая checksum отражает значимое содержимое миграции. Validate также проверяет структуру changelog и связанные ошибки. Ручное изменение таблицы вне Liquibase может не изменить checksum файла, поэтому фактическую схему проверяют отдельно через snapshot/diff и проверки условий. Не «лечите» несовпадение бездумным сбросом checksums: сначала выясните, почему изменилась история, и обычно добавьте новую миграцию.

Источник: www.liquibase.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее