# DB Migration Generator

> Generator สำหรับสร้าง database migration files พร้อม up/down scripts, validation และ rollback safety

- Skill: `majiayu000/db-migration-generator` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/db-migration-generator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/db-migration-generator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/db-migration-generator

---


# DB Migration Generator

## Overview

สร้าง database migration files อัตโนมัติจาก schema changes พร้อม validation, rollback scripts และ safety checks

## Why This Matters

- **Safety**: Auto-generate rollback scripts
- **Consistency**: Standard migration format
- **Validation**: Check before apply
- **Documentation**: Auto-document changes

---

## Quick Start

```bash
# Generate migration
npx generate-migration add_users_table

# Output:
migrations/
└── 20240116120000_add_users_table.ts
    ├── up()    # Apply migration
    └── down()  # Rollback migration
```

---

## Generated Migration

```typescript
// 20240116120000_add_users_table.ts
export async function up(db: Database) {
  await db.schema.createTable('users', (table) => {
    table.uuid('id').primary();
    table.string('email').unique().notNullable();
    table.string('name').notNullable();
    table.timestamps(true, true);
  });
  
  await db.schema.createIndex('users', 'email');
}

export async function down(db: Database) {
  await db.schema.dropTable('users');
}
```

---

## From Schema Diff

```bash
# Generate from Prisma schema changes
npx generate-migration --from-prisma

# Detects:
- New tables
- New columns
- Index changes
- Constraint changes
```

---

## Safety Checks

```typescript
// Auto-generated safety checks
export async function validate(db: Database) {
  // Check table doesn't exist
  const exists = await db.schema.hasTable('users');
  if (exists) {
    throw new Error('Table users already exists');
  }
  
  // Check dependencies
  // Check data integrity
}
```

---

## Summary

**DB Migration Generator:** สร้าง migrations อัตโนมัติ

**Features:**
- Up/down scripts
- Rollback safety
- Validation
- From schema diff

**Usage:**
```bash
npx generate-migration add_users_table
npm run migrate
```

