data-migration-scripts
Create safe, reversible database migration scripts with rollback capabilities, data validation, and zero-downtime deployments. Use when changing database schemas, migrating data between systems, or performing large-scale data transformations.
By aj-geddes · 413 installs
npx skills add aj-geddes/useful-ai-prompts --skill data-migration-scripts
Source repository · Upstream listing
Data Migration Scripts
Table of Contents
[Overview]( overview)
[When to Use]( when to use)
[Quick Start]( quick start)
[Reference Guides]( reference guides)
[Best Practices]( best practices)
Overview
Create robust, safe, and reversible data migration scripts for database schema changes and data transformations with minimal downtime.
When to Use
Database schema changes
Adding/removing/modifying columns
Migrating between database systems
Data transformations and cleanup
Splitting or merging tables
Changing data types
Adding indexes and constraints
Backfilling data
Multi tenant data migrations
Quick Start
Minimal working example:
Reference Guides
Detailed implementations in the references/ directory:
Guide Contents
[Knex.js Migrations (Node.js)](references/knexjs migrations nodejs.md) Knex.js Migrations (Node.js)
[Alembic Migrations (Python/SQLAlchemy)](references/alembic migrations pythonsqlalchemy.md) Alembic Migrations (Python/SQLAlchemy)
[Large Data Migration with Batching](references/large data migration with batching.md) Large Data Migration with Batching
[Zero Downtime Migration Pattern](references/zero downtime migration pattern.md) Zero Downtime Migration Pattern
[Migration Validation](references/migration validation.md) Migration Validation
[Cross Database Migration](references/cross database migration.md) Cross Database Migration
Best Practices
✅ DO
Always write both up and down migrations
Test migrations on production like data
Use transactions for atomic operations
Process large datasets in batches
Add indexes after data insertion
Validate data after migration
Log progress and errors
Use feature flags for application code changes
Back up database before running migrations
Test rollback procedures
Document migration side effects
Version control all migrations
Use idempotent operations
❌ DON'T
Run untested migrations on production
Make breaking changes without backwards compatibility
Process millions of rows in single transaction
Skip rollback implementation
Ignore migration failures
Modify old migrations
Delete data without backups
Run migrations manually in production