kdydb — DB 마이그레이션 관리 스킬
트리거:
/kdydb, "DB 마이그레이션", "스키마 변경"
목적
프로젝트의 DB 마이그레이션 파일을 감지하고, 미적용 마이그레이션을 식별하여 적용을 안내하거나 자동 실행하는 스킬. 15개 프로젝트 분석에서 7개 프로젝트가 Supabase/Drizzle 마이그레이션 수동 실행을 반복 병목으로 보고.
지원 ORM/DB
| ORM/DB | 감지 파일 | 마이그레이션 명령 |
|---|---|---|
| Drizzle | drizzle/ | npx drizzle-kit push / generate |
| Supabase | supabase/migrations/ | supabase db push / SQL Editor |
| Prisma | prisma/migrations/ | npx prisma migrate deploy |
| Spring JPA | src/main/resources/db/migration/ | Flyway/Liquibase |
실행 흐름
Phase 1: 감지
- 프로젝트 루트에서 ORM/DB 설정 파일 탐색
drizzle.config.ts,supabase/config.toml,prisma/schema.prisma,build.gradle
- 마이그레이션 디렉토리 존재 확인
- 마이그레이션 파일 목록 추출 (날짜순 정렬)
Phase 2: 상태 분석
- 최신 마이그레이션 파일 vs 현재 DB 스키마 비교
- 미적용 마이그레이션 식별
- 환경변수 존재 확인 (DATABASE_URL, SUPABASE_ACCESS_TOKEN 등)
Phase 3: 적용 안내
- 자동 실행 가능한 경우: CLI 명령 제시 + 사용자 확인 후 실행
- 수동 실행 필요한 경우: SQL 파일 내용 + 적용 절차 안내 (Supabase Dashboard 등)
- 충돌 감지: 스키마 diff 표시 + 해결 방안 제안
Phase 4: 검증
- 마이그레이션 적용 후 스키마 일관성 검증
_SCHEMA_REFERENCE.md레퍼런스 자동 갱신 제안docs/status/current.md에 마이그레이션 상태 기록
출력 포맷
## DB 마이그레이션 상태
### 감지된 ORM: [Drizzle/Supabase/Prisma]
### 마이그레이션 디렉토리: [경로]
| # | 파일명 | 상태 | 내용 요약 |
|---|--------|------|----------|
| 1 | 0001_initial.sql | ✅ 적용됨 | 테이블 생성 |
| 2 | 0002_add_users.sql | ⚠️ 미적용 | users 테이블 추가 |
### 권장 조치
- [ ] `npx drizzle-kit push` 실행
- [ ] _SCHEMA_REFERENCE.md 갱신
모드
/kdydb— 전체 상태 점검/kdydb apply— 미적용 마이그레이션 실행/kdydb diff— 스키마 코드 vs DB 비교/kdydb ref— _SCHEMA_REFERENCE.md 자동 갱신
Superpowers 연계
이 스킬 실행 중 아래 superpowers 원칙을 적용한다.
| 원칙 | 적용 시점 | 적용 방법 |
|---|---|---|
verification-before-completion | 마이그레이션 상태 확인 후 | 실제 명령 출력으로 상태 검증, 가정 금지 |
systematic-debugging | 마이그레이션 충돌/실패 시 | 스키마 diff → 순서 확인 → 락 확인 순서 진단 |
주의사항
- 프로덕션 DB에 직접 실행하지 않음 (안내만 제공)
- 환경변수 미설정 시 로컬 개발 환경 기준으로 동작
- Supabase Dashboard 수동 실행이 필요한 경우 SQL 복사 버튼 안내