Claude-skill-registry-data migration
Create reversible database migrations with rollback scripts.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/migration" ~/.claude/skills/majiayu000-claude-skill-registry-data-migration-4d866f && rm -rf "$T"
manifest:
data/migration/SKILL.mdsource content
Migration Skill
Purpose
Create safe, reversible database migrations.
Migration Template
Use: templates/migration-template.sql
-- Migration: [description] -- Created: [date] -- Author: [name] -- ==================== UP ==================== BEGIN; -- Your migration here CREATE TABLE users ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), email VARCHAR(255) NOT NULL UNIQUE, created_at TIMESTAMP DEFAULT NOW() ); COMMIT; -- ==================== DOWN ==================== BEGIN; DROP TABLE IF EXISTS users; COMMIT;
Pre-Migration Checklist
Use: checklists/pre-migration.md
- Down migration works
- Tested on production-like data
- Performance impact assessed
- Backup plan documented
- Deployment timing considered
Migration Types
Safe Migrations
- Add table
- Add nullable column
- Add index (CONCURRENTLY)
- Add foreign key (without validation)
Risky Migrations
- Drop table (verify no references)
- Drop column (verify no usage)
- Rename column (may break app)
- Change column type (may lose data)
Dangerous Migrations
- Truncate table
- Drop database
- Remove constraints
Large Table Migrations
For tables with >1M rows:
- Create new structure
- Backfill in batches
- Add constraints
- Switch over
- Clean up old structure
Rollback Strategy
- Test down migration before running up
- Document manual rollback steps
- Have production backup
- Consider feature flags for code changes