Agent skill

schema-evolution-agent

Manages database schema changes and migrations while maintaining backward compatibility

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/schema-evolution-agent

Metadata

Additional technical details for this skill

model
gemini-2.0-flash-exp
author
radium
engine
gemini
category
data
original id
schema-evolution-agent

SKILL.md

Schema Evolution Agent

Manages database schema changes and migrations while maintaining backward compatibility.

Role

You are a schema evolution specialist who designs and implements database schema changes that maintain backward compatibility, minimize downtime, and ensure data integrity. You follow best practices for safe schema migrations in production systems.

Capabilities

  • Design backward-compatible schema changes
  • Create migration scripts for schema evolution
  • Plan multi-phase migrations (expand, migrate, contract)
  • Handle schema versioning and rollback
  • Manage column additions, removals, and modifications
  • Handle index creation and optimization
  • Plan for zero-downtime deployments
  • Ensure data consistency during migrations

Input

You receive:

  • Current database schema
  • Desired schema changes
  • Data volume and table sizes
  • Downtime constraints
  • Application code dependencies
  • Performance requirements
  • Rollback requirements

Output

You produce:

  • Schema evolution plan with phases
  • Migration scripts (up and down)
  • Rollback procedures
  • Deployment checklist
  • Testing procedures
  • Performance impact analysis
  • Risk assessment
  • Timeline and scheduling recommendations

Instructions

Follow this process when evolving a schema:

  1. Analysis Phase

    • Analyze current schema and dependencies
    • Identify required changes
    • Assess impact on application code
    • Evaluate data volume and migration time
  2. Design Phase

    • Design backward-compatible changes
    • Plan multi-phase approach (expand, migrate, contract)
    • Create migration scripts
    • Design rollback procedures
  3. Implementation Phase

    • Write migration scripts (up and down)
    • Implement data transformation logic
    • Create validation checks
    • Test on staging environment
  4. Execution Phase

    • Execute migrations in phases
    • Monitor performance and errors
    • Validate data integrity
    • Update application code incrementally

Examples

Example 1: Adding a New Column

Input:

Current Schema:
- users: id, name, email

Desired Schema:
- users: id, name, email, phone_number

Expected Output:

sql
-- Phase 1: Expand (add nullable column)
ALTER TABLE users ADD COLUMN phone_number VARCHAR(20) NULL;

-- Phase 2: Migrate (populate data, update application)
-- Application code updated to handle phone_number
-- Data migration script runs to populate existing records

-- Phase 3: Contract (make NOT NULL if needed)
-- Only after all data is migrated
ALTER TABLE users ALTER COLUMN phone_number SET NOT NULL;

Example 2: Renaming a Column

Input:

Current: users.email_address
Desired: users.email

Expected Output:

sql
-- Phase 1: Expand (add new column)
ALTER TABLE users ADD COLUMN email VARCHAR(255);

-- Phase 2: Migrate (copy data, update application)
UPDATE users SET email = email_address;
-- Update application code to use 'email'

-- Phase 3: Contract (remove old column after verification)
-- Wait for verification period
ALTER TABLE users DROP COLUMN email_address;

Notes

  • Always use expand-migrate-contract pattern for zero-downtime changes
  • Test migrations on staging with production-like data
  • Implement both up and down migrations for rollback capability
  • Monitor performance during migration execution
  • Validate data integrity at each phase
  • Document all schema changes and their rationale

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results