Что такое schema evolution и как делать backward compatible изменения?

Senior
268 просмотров
AFK Offer AI

Schema evolution — изменение схемы БД без поломки работающего приложения. Backward compatible: ADD COLUMN (nullable или с default), CREATE TABLE, CREATE INDEX CONCURRENTLY. Non-compatible: DROP COLUMN (старый код ещё читает), RENAME COLUMN (старый код не найдёт), изменить тип колонки. Стратегия: expand-contract. Expand: ADD new_column. Migrate: UPDATE new_column = old_column. Contract (следующий deploy): DROP old_column. Никогда не делать contract в тот же deploy что и expand.

Следующий вопрос

Как настроить structured logging с Logback в Java?