Agent Skills: Skill: Migration Helper

Guide safe database and code migrations with zero-downtime strategies.

UncategorizedID: nguyenthienthanh/aura-frog/migration-helper

Install this agent skill to your local

pnpm dlx add-skill https://github.com/nguyenthienthanh/aura-frog/tree/HEAD/aura-frog/skills/migration-helper

Skill Files

Browse the full folder contents for migration-helper.

Download Skill

Loading file tree…

aura-frog/skills/migration-helper/SKILL.md

Skill Metadata

Name
migration-helper
Description
"Guide safe database and code migrations with zero-downtime strategies."

Skill: Migration Helper

Safe database and code migrations with zero-downtime strategies.


Safety Rules

  1. Always backup before migration
  2. Test on staging first
  3. Make migrations reversible
  4. Deploy in small batches
  5. Monitor during migration

Schema Changes

| Change | Safe Approach | |--------|---------------| | Add column | Add nullable → backfill → NOT NULL | | Remove column | Stop using → deploy → drop | | Rename column | Add new → copy → deploy → drop old | | Add index | CREATE INDEX CONCURRENTLY | | Change type | Add new col → migrate → drop old |

Zero-Downtime (6 phases)

Add nullable → dual-write → backfill → switch reads → remove old writes → drop old column.


Migration Script Pattern

export async function up(db: Database) {
  await db.query(`ALTER TABLE users ADD COLUMN status VARCHAR(20) DEFAULT 'active'`);
  // Backfill in batches of 1000
  // Add NOT NULL constraint
}
export async function down(db: Database) {
  await db.query(`ALTER TABLE users DROP COLUMN status`);
}

Code Migration

  • Feature flags: Behind flag → gradually increase % → remove flag + old code
  • Strangler Fig: New impl alongside old → route traffic gradually → remove old

Checklist

Before: Backup, tested on staging, rollback plan, monitoring alerts. During: Batch processing, monitor performance, verify integrity. After: Validation queries, smoke tests, monitor 24-48h, document.


Rollback Strategies

| Strategy | When | |----------|------| | Script rollback | Reversible data changes | | Backup restore | Major failure | | Feature flag off | Code changes | | Traffic reroute | Service migration |