database-migrator

benreceveur's avatarfrom benreceveur

Schema version control, migration script generation, rollback management

⭐3stars🔀1forks📁View on GitHub🕐Updated Nov 24, 2025

When & Why to Use This Skill

The Database Migrator skill streamlines database schema evolution through automated version control, migration script generation, and safe rollback management. It helps developers maintain schema consistency across multiple environments like PostgreSQL, MySQL, and SQLite, significantly reducing manual SQL coding errors and ensuring data integrity during deployments.

Use Cases

  • Automated Schema Versioning: Track and manage database changes over time using a structured versioning system to ensure all team members and environments are in sync.
  • Migration Script Generation: Automatically generate SQL migration scripts from schema diffs, saving developer time and reducing the risk of manual syntax errors.
  • Safe Production Deployments: Validate migration scripts before execution and use the rollback feature to quickly revert changes if an issue is detected during deployment.
  • Multi-Environment Synchronization: Effortlessly synchronize database structures between local development, staging, and production environments to prevent 'drift' and compatibility issues.
  • Conflict Detection: Identify and resolve overlapping migration scripts in collaborative team settings where multiple developers are modifying the database schema simultaneously.
namedatabase-migrator
descriptionSchema version control, migration script generation, rollback management
version1.0.0
tags[database, migration, schema, versioning, sql]

Database Migrator Skill

Purpose

The Database Migrator Skill manages database schema evolution through version-controlled migrations. It generates migration scripts, tracks schema versions, validates migrations, and provides safe rollback capabilities.

Key Capabilities:

  • Auto-generate migration scripts from schema changes
  • Version control for database schemas
  • Safe migration execution with validation
  • Rollback management
  • Multi-database support (PostgreSQL, MySQL, SQLite)
  • Migration conflict detection

Target Token Savings: 70% (from ~2300 tokens to ~690 tokens)

When to Use

  • Creating database schema changes
  • Deploying schema updates
  • Rolling back migrations
  • Syncing development/production schemas
  • Generating migration scripts
  • Validating schema compatibility

Operations

1. generate-migration

Generates migration script from schema diff.

2. apply-migration

Applies pending migrations to database.

3. rollback

Rolls back last migration.

4. validate

Validates migration scripts for safety.

5. status

Shows current migration status.

Scripts

# Generate migration
python ~/.claude/skills/database-migrator/scripts/main.py \
  --operation generate-migration \
  --name add_users_table

# Apply migrations
python ~/.claude/skills/database-migrator/scripts/main.py \
  --operation apply-migration \
  --db-url postgresql://localhost/mydb

# Rollback last migration
python ~/.claude/skills/database-migrator/scripts/main.py \
  --operation rollback \
  --db-url postgresql://localhost/mydb

# Check migration status
python ~/.claude/skills/database-migrator/scripts/main.py \
  --operation status \
  --db-url postgresql://localhost/mydb

Configuration

{
  "database-migrator": {
    "migrations_dir": "./migrations",
    "database_url": "postgresql://localhost/mydb",
    "auto_apply": false,
    "validate_before_apply": true,
    "create_backup": true,
    "rollback_on_error": true
  }
}

Examples

Example 1: Generate Migration

python ~/.claude/skills/database-migrator/scripts/main.py \
  --operation generate-migration \
  --name add_email_column

Output:

{
  "success": true,
  "operation": "generate-migration",
  "migration_file": "migrations/001_add_email_column.sql",
  "version": "001",
  "execution_time_ms": 23
}

Example 2: Apply Migrations

python ~/.claude/skills/database-migrator/scripts/main.py \
  --operation apply-migration \
  --db-url postgresql://localhost/mydb

Output:

{
  "success": true,
  "operation": "apply-migration",
  "migrations_applied": 3,
  "current_version": "003",
  "execution_time_ms": 456
}

Example 3: Rollback Migration

python ~/.claude/skills/database-migrator/scripts/main.py \
  --operation rollback \
  --db-url postgresql://localhost/mydb

Output:

{
  "success": true,
  "operation": "rollback",
  "rolled_back": "003_add_index",
  "current_version": "002",
  "execution_time_ms": 234
}

Example 4: Migration Status

python ~/.claude/skills/database-migrator/scripts/main.py \
  --operation status \
  --db-url postgresql://localhost/mydb

Output:

{
  "success": true,
  "operation": "status",
  "current_version": "003",
  "pending_migrations": 2,
  "applied_migrations": 3,
  "execution_time_ms": 12
}

Token Economics

Without Skill: ~2300 tokens With Skill: ~690 tokens (70% savings)

Success Metrics

  • Execution time: <50ms for generation
  • Migration success rate: >99.9%
  • Zero data loss in rollbacks
  • Schema validation: 100% accuracy

Database Migrator Skill v1.0.0 - Safe database schema evolution