database-migrations

Plan and validate reversible database migrations across PostgreSQL, MySQL, and common ORMs.

Updated Mar 18, 2026
One-click install
npx skills add https://github.com/ignidus/iscagent --skill database-migrations-ignidus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: database-migrations
Source: https://github.com/ignidus/iscagent/tree/main/skills/database-migrations
Command: npx skills add https://github.com/ignidus/iscagent --skill database-migrations-ignidus

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Production-grade database migrations are risky and error-prone, often causing downtime, data drift, and rollback difficulties when evolving schemas or transforming data. This Skill provides proven patterns and guidance to plan, implement, and validate migrations safely.

Core Features & Use Cases

  • Zero-downtime strategies: Expand-contract patterns, backfills, and gradual rollout to avoid long downtime.
  • Migration safety and rollback planning: Separate schema and data migrations, explicit UP/DOWN paths, and tested rollback plans.
  • Multi-ORM and multi-DB guidance: Applies to PostgreSQL, MySQL, and ORMs like Prisma, Drizzle, Django, TypeORM, and golang-migrate.
  • Operational templates: Ready-to-adapt migration templates and best-practice checklists for production deployments.

Quick Start

Review the migration patterns and apply a zero-downtime approach to your next schema change.

Frequently Asked Questions about database-migrations

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I perform zero-downtime database migrations in PostgreSQL?

Zero-downtime database migrations in PostgreSQL use expand-contract patterns, concurrent index creation, and gradual rollouts to evolve schemas without locking tables or causing production downtime. This approach separates schema changes from data backfills to ensure reversibility.

What is the best way to backfill data across large datasets without downtime?

Backfilling large datasets safely requires batching data updates and using gradual rollout patterns to avoiding long table locks. You must separate data migrations from schema changes, applying explicit rollback plans to ensure the backfill process remains reversible and non-disruptive.

Does this migration guidance work with Prisma, Drizzle, and Django ORMs?

Yes, these zero-downtime migration patterns apply directly to Prisma, Drizzle, Django, TypeORM, and golang-migrate. The guidance covers multi-ORM and multi-DB strategies for PostgreSQL and MySQL, adapting standard migration tools to safe production schema evolution.

How do I plan a safe rollback for a production database schema change?

Safe rollback planning requires explicit UP and DOWN migration paths with tested reversal procedures. By separating schema migrations from data changes and using expand-contract patterns, you ensure production database schema evolution can be reliably reversed without data loss.

When should I separate schema migrations from data migrations?

You should separate schema migrations from data migrations whenever evolving production databases to prevent locking and data drift. Isolating structural changes like adding columns with defaults from data backfills allows each phase to deploy and roll back independently without downtime.