From database-reliability-engineering
Plan a schema change on a live production database with no downtime using expand-contract — additive expand, dual-write, batched/throttled backfill, cutover, then contract — with lock duration and replication lag managed. Reach for this before any non-additive change to a hot table (NOT NULL, rename, type change, drop) or a large backfill. Pairs with db-incident-triage if a migration goes wrong.
How this skill is triggered — by the user, by Claude, or both
Slash command
/database-reliability-engineering:zero-downtime-migrationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Change a running database without an outage. The default shape is
Change a running database without an outage. The default shape is expand-contract; the enemies are lock duration and replication lag.
Never a destructive change in one step. Add the new shape, move to it, then
remove the old — each step individually reversible. A one-shot ALTER on a hot
table is how migrations become outages.
Trace ../../knowledge/dbre-decision-trees.md §3:
Add the new shape additively and reversibly: new column (nullable), new table, new index (online). Deploy this first, alone.
UPDATE.Move reads to the new shape. Verify parity (old vs new) before and after.
Once nothing reads the old shape, drop it — as its own reversible step, off-peak.
For every step, know the lock it takes and its duration under production load. Set a
lock_timeout; if a step would hold a hot lock, re-plan into smaller steps or an
online tool (gh-ost / pt-online-schema-change) before considering a window.
db-incident-triage /
database-incident-responder.database-engineering.devops-cicd.An expand-contract migration plan: each step (expand → dual-write → backfill → cutover → contract) with its lock/lag risk, the batched backfill parameters, the per-step rollback, and the parity checks.
npx claudepluginhub mcorbett51090/ravenclaude --plugin database-reliability-engineeringGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Dispatches multiple subagents concurrently for independent tasks without shared state. Use when facing 2+ unrelated failures or subsystems that can be investigated in parallel.