Database
Migrations
Schema changes that don't take your app down. Migrations are the riskiest part of database work — they deserve real planning.
Migration Strategy
Expanding/contracting migrations, zero-downtime column changes, and the rollout sequence that keeps your app alive during schema changes.
ORM Migration Setup
Drizzle, Prisma, or raw SQL migrations — configured with CI checks, version control, and dev/prod parity that doesn't bite you.
Backfills
Safely populating new columns on large tables without locking your database or timing out. Batched writes, progress tracking, and rollback plans.
Large Table Migrations
pg_repack, online schema changes, and CONCURRENTLY indexes for tables that can't afford downtime. Tested on staging before production.
Migration Auditing
Reviewing existing migrations for risky patterns — locking operations, missing rollbacks, and sequences that could fail mid-run.