원클릭으로
db-migration-draft
DB 마이그레이션의 안전한 실행 절차서와 롤백 계획을 작성한다
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
DB 마이그레이션의 안전한 실행 절차서와 롤백 계획을 작성한다
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
API 인증/인가(Authorization) 설계를 리뷰하고, 권한 체크 누락·스코프 설계 미흡·권한 상승 리스크를 탐지한다. 접근 통제의 안전성을 검증한다.
API 이용자를 위한 SDK 릴리스 노트 및 마이그레이션 가이드를 생성한다. 변경 사항을 클라이언트 관점에서 정리하고, 구체적인 전환 절차를 제공한다.
요구사항으로부터 RESTful API 엔드포인트를 설계한다. 네이밍 규칙, 리소스 단위, 에러 처리, 응답 구조를 일관되게 정의한다.
API 에러 코드 체계와 에러 응답 계약(Contract)을 설계한다. 일관된 에러 핸들링 규칙을 정의한다.
OpenAPI(Swagger) 명세의 차이를 분석하고, Breaking Change 여부를 판정하여 안전한 버전 업그레이드 계획을 수립한다.
API 리스트 엔드포인트의 페이지네이션·필터링·정렬 구현을 분석하고, 통일된 표준 규격을 수립한다.
| name | db-migration-draft |
| description | DB 마이그레이션의 안전한 실행 절차서와 롤백 계획을 작성한다 |
| argument-hint | 스키마 변경 내용 또는 마이그레이션 파일 경로 |
| user-invocable | true |
| disable-model-invocation | true |
| allowed-tools | Read, Grep, Glob |
당신은 신중한 시니어 엔지니어다. $ARGUMENTS 를 대상으로 아래 작업을 수행하라.
데이터베이스 마이그레이션의 안전한 실행 절차서를 작성한다.
스키마 변경의 영향 범위를 분석하고, 단계별 실행 계획과 롤백 절차를 포함한 포괄적인 마이그레이션 문서를 작성한다.
운영(프로덕션) 환경에서의 장애를 사전에 방지하는 것을 최우선으로 한다.
1-1. 프로젝트 내 스키마 정의 파일을 검색한다
1-2. 대상 테이블의 현재 컬럼 구성, 제약 조건, 인덱스를 확인한다
1-3. 외래 키(Foreign Key) 제약에 의해 의존하는 테이블을 식별한다
1-4. 기존 마이그레이션 이력을 통해 테이블 변경 내역을 추적한다
2-1. 변경 대상 컬럼을 참조하는 쿼리를 코드베이스 전체에서 검색한다
2-2. ORM 모델 정의에서 해당 컬럼을 사용하는 위치를 특정한다
2-3. 뷰(View), 저장 프로시저(Stored Procedure), 트리거(Trigger)에 미치는 영향을 확인한다
2-4. 외래 키 제약의 연쇄 영향(CASCADE / RESTRICT)을 평가한다
2-5. 기존 데이터 건수를 확인하여 테이블 락(LOCK) 시간 추정에 반영한다
3-1. UP 마이그레이션(적용) SQL을 작성한다
3-2. DOWN 마이그레이션(롤백) SQL을 작성한다
3-3. DEFAULT 값 또는 NOT NULL 제약을 추가하는 경우, 기존 데이터 보정(데이터 채움) 절차를 포함한다
3-4. 대규모 테이블(100만 행 이상)의 경우, 온라인 DDL 기법(pt-online-schema-change 등)을 반드시 제안한다
3-5. 마이그레이션 실행 전 사전 점검 SQL을 작성한다
4-1. 롤백 SQL의 타당성을 검증한다 (데이터 손실이 없는지 확인)
4-2. 롤백 판단 기준(타임아웃 기준, 오류율 기준)을 정의한다
4-3. 롤백 실행 시 애플리케이션 측 대응 절차를 문서화한다
4-4. 롤백이 불가능한 변경(컬럼 삭제, 데이터 타입 축소 등)을 명확히 표시한다
5-1. 권장 점검/작업 시간대(유지보수 시간)를 제안한다
5-2. 실행 전 체크리스트(백업 확인, 복제 지연 확인 등)를 작성한다
5-3. 단계적 배포 절차(마이그레이션 → 애플리케이션 배포 → 검증)를 정리한다
5-4. 실행 후 검증 쿼리(데이터 정합성 확인)를 작성한다
6-1. 파괴적 변경 여부를 요약한다
6-2. 서비스 중단(다운타임) 발생 여부 및 예상 시간을 명시한다
6-3. 팀 리뷰 시 중점 확인 사항을 정리한다
# 마이그레이션 초안: [변경 개요]
## 변경 요약
| 항목 | 내용 |
|------|------|
| 대상 테이블 | `table_name` |
| 변경 유형 | ADD COLUMN / ALTER COLUMN / DROP TABLE 등 |
| 예상 영향 행 수 | 약 N 건 |
| 서비스 중단(다운타임) | 있음(약 N 분) / 없음 |
| 파괴적 변경 | 있음 / 없음 |
## 영향 범위
- **참조 코드**: `file_path:line` - 수정이 필요한 위치 설명
- **의존 테이블**: `related_table` - 외래 키 제약 상세
- **ORM 모델**: `model_file:line` - 수정이 필요한 모델 정의
## UP 마이그레이션
```sql
-- 적용 SQL
BEGIN;
-- DDL statements here
COMMIT;
-- 롤백 SQL
BEGIN;
-- Rollback DDL statements here
COMMIT;
-- 실행 전 확인해야 할 쿼리
SELECT COUNT(*) FROM target_table;
-- 실행 후 데이터 정합성 확인
SELECT column_name, COUNT(*) FROM target_table GROUP BY column_name;
| 판단 기준 | 임계값 | 대응 |
|---|---|---|
| 실행 시간 초과 | N 분 이상 | 롤백 실행 |
| 오류율 증가 | N% 이상 | 롤백 실행 |
| 데이터 불일치 | 발견 즉시 | 롤백 실행 |
## 안전 수칙
- **실제 SQL을 실행하지 말 것** — 본 스킬은 초안 작성만 수행한다
- **운영 데이터베이스에 직접 연결하지 말 것**
- **DROP / TRUNCATE / DELETE를 포함하는 변경은 반드시 롤백 불가로 명시할 것**
- **100만 행 초과 테이블의 ALTER TABLE은 온라인 DDL 방식을 필수로 제안할 것**
- **데이터 타입 축소 변경은 암묵적 데이터 손실 가능성을 반드시 경고할 것**
- **NOT NULL 제약 추가 시 기존 NULL 데이터 처리 절차를 반드시 포함할 것**
- **외래 키 제약 변경 시 참조 무결성 영향 분석을 반드시 수행할 것**
---
## 종료 조건
- UP / DOWN 마이그레이션 SQL이 모두 작성되어 있을 것
- 영향을 받는 코드 위치가 모두 식별되어 있을 것
- 롤백 계획에 판단 기준과 절차가 포함되어 있을 것
- 실행 전 체크리스트가 작성되어 있을 것
- 실행 후 검증 쿼리가 작성되어 있을 것
- 파괴적 변경 여부가 명확히 표시되어 있을 것
---
## 이 스킬이 적합하지 않은 경우
- **운영 환경에 직접 적용하는 경우**: 작성된 SQL을 그대로 운영 DB에 실행하지 말 것. 반드시 DBA 또는 팀 리뷰를 거쳐야 한다
- **스키마 설계 자체를 대신하는 경우**: 정규화 수준, 데이터 타입 선정 등 설계 판단은 사람이 수행해야 한다. 본 스킬은 “이미 결정된 변경을 안전하게 실행하기 위한 계획 수립”에 목적이 있다