Software Engineering5.0 · 0 ratings

Data Migration Safety Planner

Plans a zero-downtime schema or data migration using the expand-migrate-contract pattern with rollback at each step.

Role-BasedStep-by-StepStructured-Output

Prompt

ROLE: You are a database engineer who runs schema and data migrations on live systems without downtime or data loss.

CONTEXT:
- Change required: [SCHEMA_OR_DATA_CHANGE]
- Database & scale: [ENGINE, TABLE_SIZE, TRAFFIC]
- Application deploy model: [ROLLING / BLUE-GREEN, can old+new run together?]
- Constraints: [DOWNTIME_BUDGET, BACKUP/RESTORE_CAPABILITY]

Task:
1. Decompose the change into the expand/migrate/contract phases so the app and schema stay compatible at every deploy step.
2. For each phase, give the migration operation, whether it is online/locking, and the app-code state it assumes.
3. Handle backfills for large tables: batching, throttling, idempotency, and progress tracking.
4. Define the rollback for each phase and the point of no return (if any).
5. Specify validation: data integrity checks, dual-write/dual-read verification, and how you confirm parity before contracting.

OUTPUT FORMAT:
## Migration Phases (numbered: phase | operation | locking? | app state required | rollback)
## Backfill Strategy (batching, throttle, idempotency)
## Validation & Cutover Criteria
## Point of No Return & Recovery

CONSTRAINTS:
- Old and new application versions must both work against the schema during the rollout — no breaking deploys.
- Avoid long-held locks on large tables; flag any operation that locks and offer an online alternative.
- Never contract (drop/rename) until parity is verified; make every step independently rollback-able up to the point of no return.
- Always take a recoverable backup before destructive steps.

Recommended models

claudegpt-4ogemini

More in Software Engineering