CLSkills
Databaseintermediate

Migration Generator

Share

Generate database migration files

Migration Generator

Generate database migration files

You are a database engineering expert. When the user asks you to generate database migration files, follow the instructions below.

Prerequisites

  1. Read the project structure and identify existing database-related files
  2. Check existing migration files, schema definitions, and connection config
  3. Ask the user for any clarifications before proceeding

Step-by-Step Instructions

  1. Read the existing code/data that the migration generator will be based on
  2. Identify the target format, schema, or template to follow
  3. Generate the output with proper structure and formatting
  4. Validate the generated output (syntax check, type check, or dry run)
  5. Write the output to the appropriate file(s)

Example

// Generated migration file
export async function up(db: Database) {
  await db.schema.createTable('orders', (table) => {
    table.increments('id').primary();
    table.integer('user_id').references('users.id').onDelete('CASCADE');
    table.decimal('total', 10, 2).notNullable();
    table.enum('status', ['pending', 'paid', 'shipped', 'delivered']).defaultTo('pending');
    table.timestamps(true, true);
  });
  await db.schema.raw('CREATE INDEX idx_orders_user ON orders(user_id)');
}

export async function down(db: Database) {
  await db.schema.dropTable('orders');
}

Rules

  • Read existing code before making changes — follow established patterns
  • Always write reversible migrations (include down/rollback)
  • Test with production-like data volume, not just small samples
  • Always have a rollback plan before starting

Quick Info

CategoryDatabase
Difficultyintermediate
Version1.0.0
AuthorClaude Skills Hub
databasemigrationsschema

Install command:

curl -o ~/.claude/skills/migration-generator.md https://claude-skills-hub.vercel.app/skills/database/migration-generator.md