database-migrations

Create zero-downtime migration plans for PostgreSQL and MySQL schema changes.

Updated Jun 25, 2026
One-click install
npx skills add https://github.com/sumeetonline90/fitup_all --skill database-migrations-sumeetonline90
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: database-migrations
Source: https://github.com/sumeetonline90/fitup_all/tree/main/.cursor/skills/database-migrations
Command: npx skills add https://github.com/sumeetonline90/fitup_all --skill database-migrations-sumeetonline90

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill eliminates the high risk of production outages, data corruption, and service downtime caused by unplanned or unsafe database schema and data changes, a common pain point for engineering teams managing live production databases.

Core Features & Use Cases

  • Cross-database and ORM support: Provides guidance for PostgreSQL, MySQL, and popular ORMs including Prisma, Drizzle, Django, TypeORM, and golang-migrate.
  • Zero-downtime deployment patterns: Implements the expand-contract workflow for schema changes that do not interrupt live user traffic.
  • Safe large-scale data migrations: Includes batched backfill logic to avoid full table locks when transforming data on large datasets.
  • Use Case: For example, if you need to add a new non-null unique column to a 10 million row users table, this skill guides you through adding the column as nullable, backfilling data in small batches, then adding the non-null constraint without any service downtime.

Quick Start

Use the database-migrations skill to create a zero-downtime migration plan for adding a new indexed email column to your production users table.

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 without locking tables?

The expand-contract workflow enables zero-downtime database migrations by separating schema changes into deployable phases, avoiding full table locks and concurrent index blocking in PostgreSQL and MySQL environments.

What is the best way to safely backfill data on a large production database table?

Safe data backfill on large production databases is achieved by processing data in small batches, which prevents full table locks and avoids service downtime when transforming large datasets.

Does this zero-downtime migration approach work with Prisma, Django, and TypeORM?

Yes, the zero-downtime migration approach supports Prisma, Drizzle, Django, TypeORM, and golang-migrate, providing reversible and tested migration workflows across these ORMs and frameworks.

How do I add a non-null column to a large table without causing production downtime?

To add a non-null column without downtime, you add it as nullable, backfill the data in small batches, and then apply the non-null constraint after the data migration completes successfully.

Why do database schema changes cause full table rewrites and how can I avoid them?

Database schema changes trigger full table rewrites when applied directly to large datasets, but using low-lock migration workflows and batched operations prevents these rewrites and production outages.