Schema Evolution

Use when reasoning about how a database schema changes over time without breaking deployed application code — the multi-release path from the current schema to a target schema: the expand/contract pattern (Ambler & Sadalage / Fowler's parallel change), the zero-downtime change rules, the backwards-and-forwards compatibility envelope (deploy ordering and rollback discipline), the catalog of schema changes (add column, drop column, rename, type change, add constraint, add index) and the safe procedure for each, the dual-write and dual-read transitions (with named source-of-truth and production consistency-check discipline) that make non-trivial changes safe, the lock-acquisition hazard (why even a metadata-only DDL needs a bounded lock-acquisition budget — Postgres lock_timeout + retry, or the engine equivalent — because lock acquisition is a FIFO queue), the cross-engine online-change mechanisms (Postgres CONCURRENTLY / NOT VALID, MySQL INSTANT/INPLACE/COPY Online DDL, gh-ost / pt-osc ghost-table cutover, Vite

jacob-balslev Updated

File contents

jacob-balslev/skills/tree/main/skills/data-engineering/schema-evolution commit c7c939d740

Frequently asked questions

npx skillmds@latest add jacob-balslev/schema-evolution-2