expand-contract migration
RU: expand-contract миграция
A three-phase zero-downtime schema change pattern: expand (add new columns/tables alongside old ones), migrate (backfill data and dual-write to both), then contract (remove old columns once all code uses the new schema). Each phase is independently deployable, allowing old and new code versions to run simultaneously.