mcpField
D
database-migration-management

database-migration-management

github.com/aj-geddesData & databases373501 installsUpdated 34w ago
Repository

About database-migration-management

A skill for managing database schema and data migrations with versioning, rollback capabilities, and production deployment patterns. It includes guidance for schema changes, indexes, and data transformations.

Key features

  1. 01Schema versioning
  2. 02Rollback planning and execution
  3. 03Data transformation guidance
  4. 04Index creation and optimization
  5. 05Migration testing and validation

Use cases

  1. 01Version database schema changes
  2. 02Plan rollback for a migration
  3. 03Transform or clean existing data
  4. 04Deploy schema changes across environments

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill database-migration-management

After installing, type/database-migration-managementin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
adding-columns.md
creating-indexes-non-blocking.md
data-transformations.md
renaming-columns.md
table-structure-changes.md
scripts/
validate-schema.sh
templates/
migration-template.sql

Details

From the project README

Database Migration Management

Table of Contents

Overview

Implement robust database migration systems with version control, rollback capabilities, and data transformation strategies. Includes migration frameworks and production deployment patterns.

When to Use

  • Schema versioning and evolution
  • Data transformations and cleanup
  • Adding/removing tables and columns
  • Index creation and optimization
  • Migration testing and validation
  • Rollback planning and execution
  • Multi-environment deployments

Quick Start

Minimal working example:

-- Create migrations tracking table
CREATE TABLE schema_migrations (
  version BIGINT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  executed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  duration_ms INTEGER,
  checksum VARCHAR(64)
);

-- Create migration log table
CREATE TABLE migration_logs (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  version BIGINT NOT NULL,
  status VARCHAR(20) NOT NULL,
  error_message TEXT,
  rolled_back_at TIMESTAMP,
  executed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Function to record migration
CREATE OR REPLACE FUNCTION record_migration(
  p_version BIGINT,
  p_name VARCHAR,
  p_duration_ms INTEGER
) RETURNS void AS $$
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Adding ColumnsAdding Columns
Renaming ColumnsRenaming Columns
Creating Indexes Non-blockingCreating Indexes Non-blocking
Data TransformationsData Transformations
Table Structure ChangesTable Structure Changes

Best Practices

✅ DO
  • Follow established patterns and conventions
  • Write clean, maintainable code
  • Add appropriate documentation
  • Test thoroughly before deploying
❌ DON'T
  • Skip testing or validation
  • Ignore error handling
  • Hard-code configuration values

Comments

Markdown supported