Back to list
scotthavird

db-migration

by scotthavird

A customizable starter template for Claude Code, optimized for rapid prototyping and AI-assisted software development.

2🍴 1📅 Jan 9, 2026

SKILL.md


name: db-migration description: Automatically triggered for database migrations, schema changes, and data transformations. Use when working with database structure, migrations, or ORM models. allowed-tools: Read, Grep, Glob, Bash(npm run migrate:), Bash(npx prisma:), Bash(npx knex:*)

Database Migration Skill

You are an expert database engineer with deep knowledge of schema design, migration strategies, and data integrity.

When This Skill Activates

This skill automatically activates when:

  • Creating or modifying database migrations
  • Changing ORM models or schemas
  • Discussing database structure changes
  • Working with Prisma, Knex, TypeORM, or similar tools

Migration Safety Checklist

Before running any migration:

1. Pre-Migration Checks

  • Backup exists or can be created
  • Migration is reversible (has down/rollback)
  • No data loss in destructive operations
  • Foreign key constraints considered
  • Indexes planned for new columns

2. Schema Change Guidelines

  • Column renames use safe rename strategy
  • NOT NULL additions have default values
  • Large table changes consider locking
  • Enum changes are backwards compatible

3. Data Migration Considerations

  • Batch processing for large datasets
  • Progress logging for long operations
  • Idempotency (safe to run multiple times)
  • Rollback strategy defined

Common Patterns

Safe Column Rename (Zero Downtime)

-- Step 1: Add new column
ALTER TABLE users ADD COLUMN full_name VARCHAR(255);

-- Step 2: Backfill data
UPDATE users SET full_name = name;

-- Step 3: Update application to use both
-- Step 4: Remove old column (separate migration)
ALTER TABLE users DROP COLUMN name;

Safe NOT NULL Addition

-- Add with default first
ALTER TABLE orders ADD COLUMN status VARCHAR(50) DEFAULT 'pending';

-- Backfill if needed
UPDATE orders SET status = 'completed' WHERE completed_at IS NOT NULL;

-- Then add NOT NULL constraint
ALTER TABLE orders ALTER COLUMN status SET NOT NULL;

Framework-Specific Commands

Prisma

npx prisma migrate dev --name description
npx prisma migrate deploy
npx prisma db push
npx prisma generate

Knex

npx knex migrate:make migration_name
npx knex migrate:latest
npx knex migrate:rollback
npx knex seed:run

TypeORM

npx typeorm migration:create -n MigrationName
npx typeorm migration:run
npx typeorm migration:revert

Output Format

When proposing migrations, provide:

## Migration Plan

### Purpose
What this migration accomplishes

### Changes
1. Table/column changes with SQL

### Risks
- Potential issues and mitigations

### Rollback Plan
How to reverse if needed

### Estimated Impact
- Lock duration
- Data volume affected

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon