본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
Prisma Production Guardrails

기반 설계

Ch1. 환경 분리 전략Ch2. 토폴로지와 환경 구성Ch3. Prisma Postgres 활용

마이그레이션

Ch4. 마이그레이션 전략Ch5. 마이그레이션 파이프라인Ch6. 마이그레이션 실패 대응Ch7. 롤백 전략

운영 안정성

Ch8. 백업 및 DR 전략Ch9. 관측 전략Ch10. 운영 트러블슈팅Ch11. 운영 정책과 거버넌스Ch12. Prisma MCP 활용

부록

부록 A. 런북 템플릿검증 리포트업데이트 내역
핸드북›Prisma Production Guardrails›Ch4. 마이그레이션 전략

Ch4. 마이그레이션 전략

Expand/Contract 기반 무중단 마이그레이션과 위험 변경 분리 전략

핵심 요약

  • 스키마 변경과 앱 배포를 한 릴리스에 묶지 않고, DROP·RENAME 같은 파괴적 변경은 별도 릴리스로 분리합니다.
  • Expand(컬럼·인덱스 추가) → Transition(백필·Dual Write·검증) → Contract(구 컬럼·fallback 제거) 단계로 무중단 마이그레이션을 진행합니다.
  • 프로덕션에서는 migrate dev를 쓰지 않고 migrate deploy만 허용하고, migrate status·migrate diff로 드리프트를 점검합니다.
  • 컬럼 타입 축소·이름 변경·NOT NULL 추가는 신규 컬럼·백필·검증을 거쳐 점진 전환합니다.
  • 2026-03 발표된 Prisma Next(Prisma 8)는 graph-based 마이그레이션을 예고했고 Postgres GA는 2026년 6~7월 예정이며, Prisma 7은 12개월 지원이 보장됩니다.

기본 원칙

  1. 스키마 변경과 애플리케이션 배포를 한 번에 묶지 않습니다.
  2. 파괴적 변경(DROP, RENAME)은 별도 릴리스로 분리합니다.
  3. 모든 변경은 되돌릴 수 있는 단계로 쪼갭니다.

Expand/Contract 패턴

Expand 단계

  • nullable 컬럼 추가
  • 새 인덱스 생성
  • 기존 로직과 호환되는 기본값/트리거 준비

Transition 단계

  • 백필 배치 수행
  • 애플리케이션 Dual Write/Read fallback 적용
  • 데이터 정합성 검증

Contract 단계

  • 구 컬럼/인덱스 제거
  • fallback 코드 제거
  • 운영 지표 안정 확인

Prisma Migrate 운용 규칙

  • 로컬: prisma migrate dev
  • 배포: prisma migrate deploy
  • 드리프트 점검: prisma migrate status, prisma migrate diff

migrate dev는 개발 워크플로우에서만 씁니다. 프로덕션에서는 migrate deploy 외에는 쓰지 않도록 정책으로 못 박습니다.

위험 변경 분리 규칙

변경 유형처리 방법
컬럼 타입 축소새 컬럼 추가 후 점진 전환
컬럼 이름 변경새 컬럼 추가 + 백필 + 코드 전환 후 제거
대용량 인덱스 생성트래픽 저점 배치, 가능하면 online 옵션 활용
NOT NULL 추가사전 백필 + 검증 후 제약 적용

배포 단위 설계 예시

Release A: 새 컬럼 추가 + 앱에서 dual write 시작
Release B: 백필 완료 + read 경로 전환
Release C: 구 컬럼 제거 + 코드 정리

Prisma Next: Graph-Based Migrations 전망

2026-03-04 Prisma 블로그가 Prisma Next(→ Prisma 8)를 발표하면서 선형 마이그레이션 파일 대신 Git-like 브랜치 모델의 graph-based migrations을 예고했습니다. 지금 쓰는 Prisma 7의 선형 마이그레이션은 앞으로 12개월간 지원됩니다.

Prisma Next 공식 로드맵 (2026-03-20 갱신)

시기마일스톤비고
2026년 4월외부 기여 오픈 + 안정 확장 API커뮤니티 참여 시작
2026년 5월Early Access (Postgres + SQLite)첫 공개 프리뷰
2026년 6~7월Postgres GA프로덕션 사용 가능

Prisma Next는 Prisma 7과 호환 레이어를 제공해 둘을 나란히 돌릴 수 있도록 설계 중입니다. 그래서 Prisma 7 → Next 전환은 빅뱅 마이그레이션이 아니라 점진적으로 넘어갈 수 있습니다.

이 핸드북의 Expand/Contract 패턴과 migrate deploy 기반 워크플로우는 Prisma 7을 전제로 하므로, Prisma Next GA 이후에는 마이그레이션 파이프라인 구조를 다시 설계해야 합니다.

금지 안티패턴

  • 단일 릴리스에서 ALTER TABLE ... DROP COLUMN + 앱 코드 동시 반영
  • 트래픽 피크 시간에 대용량 백필 실행
  • 마이그레이션 SQL을 코드 리뷰 없이 즉시 배포
  • 복구 계획 없이 파괴적 변경 수행

관련 문서

검증 리포트

Prisma Production Guardrails 핸드북의 구조 및 정합성 검증

업데이트 내역

Prisma Production Guardrails 핸드북 변경 기록

Ch5. Next.js App Router 엔터프라이즈 패턴

엔터프라이즈 프로젝트 설계 · Multi-zone, Cache Components, Proxy, Server Actions, Route Handlers, 런타임 선택

Ch13. 레퍼런스와 아키텍처 결정 기록

엔터프라이즈 프로젝트 설계 · ADR 템플릿, 기술 선택 근거, 전체 참고 문헌

Ch3. 공유 패키지 설계 패턴

엔터프라이즈 프로젝트 설계 · DB(Prisma), UI, utils, config, types 패키지의 설계 패턴과 트리셰이킹

Ch3. Prisma Postgres 활용

Prisma Postgres를 프로덕션에서 안정적으로 활용하기 위한 연결/캐시/백업/브랜치 운영 가이드

Ch5. 마이그레이션 파이프라인

개발부터 프로덕션까지 Prisma 마이그레이션 자동화/승인/검증 워크플로우

On this page

기본 원칙Expand/Contract 패턴Expand 단계Transition 단계Contract 단계Prisma Migrate 운용 규칙위험 변경 분리 규칙배포 단위 설계 예시Prisma Next: Graph-Based Migrations 전망Prisma Next 공식 로드맵 (2026-03-20 갱신)금지 안티패턴