---
type: template
domain: product
role: Database
status: active
last-reviewed: 2026-07-27
---

# 마이그레이션·데이터 영향

> schema 변경을 단계별 실행, 데이터 변환, 호환성과 잠금 위험으로 분석한다. 이 분석이 납품 산출물인 **마이그레이션 절차서**의 근거다. 기존 시스템 데이터 이관은 계약 포함 여부부터 확인 — 범위 밖이면 CR로 회부한다.

## 변경 요약

| 항목 | Before | After | 데이터 영향 | 관련 요구사항 |
|---|---|---|---|---|
| table / column / constraint / index |  |  |  |  |

## 단계 계획

| 단계 | migration·작업 | 앱 호환 버전 | 예상 시간 | lock·부하 | 중단·재개 기준 |
|---|---|---|---|---|---|
| Expand |  |  |  |  |  |
| Backfill |  |  |  |  |  |
| Switch |  |  |  |  |  |
| Contract |  |  |  |  |  |

## Backfill·검증

| 대상·범위 | batch 크기 | 순서·재실행성 | 검증 query | 실패 격리 | 완료 기준 |
|---|---|---|---|---|---|
|  |  |  |  |  |  |

## 위험 분석

| 위험 | 발생 조건 | 영향 | 탐지 | 완화 | Owner |
|---|---|---|---|---|---|
| 장기 lock |  |  |  |  |  |
| 데이터 손실·변형 |  |  |  |  |  |
| 구·신버전 비호환 |  |  |  |  |  |
| disk·replica 지연 |  |  |  |  |  |

## 완료 질문

- [ ] NOT NULL 추가 전에 기존 row의 backfill 전략이 있는가?
- [ ] migration 하나가 하나의 논리 변경만 포함하는가?
- [ ] 작업을 중단·재개해도 중복이나 손실이 없는가?
- [ ] 확인하지 못한 row 수·시간을 추정치로 표시했는가? (운영 데이터는 발주사 제공 항목 — 미제공 시 기록·공지)
- [ ] 개인정보 이동·삭제가 발주사 보존 정책·규제와 일치하는가?
- [ ] 원본 데이터 이관(cleansing·매핑 포함)이 계약 범위에 있는가? 아니면 CR 회부했는가?

## 승인

- Backend 호환성 확인:
- DevOps 운영 창구:
- 데이터 Owner(발주사) 승인:
