Skip to content

Tech Debt: Prisma 6 → 7 마이그레이션 #202

Description

@chanwoo7

배경

Prisma 7이 릴리즈되어 메이저 한 세대가 뒤처짐 (2026-08-24 기준 latest 7.9.1, 현재 6.19.3).
v7은 클라이언트 아키텍처가 크게 바뀌어(rust-free query compiler 기본화, 신규 prisma-client generator, 설정 체계 개편) 단순 bump가 아닌 마이그레이션 작업이 필요하다.

현재 → 목표

  • prisma / @prisma/client: 6.19.x → 7.x

영향 범위 (예상 — 가이드 확인 필요)

  • generator client { provider = "prisma-client-js", binaryTargets = [...] } — v7 신규 generator 체계·엔진 아키텍처 변경에 따라 재구성 필요 (binaryTargets는 rust 엔진 제거 시 의미 변화).
  • package.json#prisma.seed(ts-node 기반) — v7의 prisma.config.ts 설정 체계로 이관 필요 여부 확인.
  • 드라이버 어댑터: v7에서 driver adapter 방식이 기본화됨 — MySQL(mysql2 계열) 어댑터 적용 및 DATABASE_URL 로딩 방식 확인.
  • soft-delete Extension(src/prisma/) — READ 쿼리 deleted_at 자동 주입 동작이 v7 클라이언트에서 동일한지 회귀 검증 (레포 전반이 의존).
  • $queryRaw 사용처(store/랭킹·capacity 집계 등) — 타입/직렬화 동작 확인.
  • testcontainers 실DB 인프라(migrate deploy → 184 suites) 전체 회귀.

수행 조건

  • Prisma 7 업그레이드 가이드 완독 및 breaking changes 목록화
  • generator/설정(prisma.config.ts)/driver adapter 이관
  • soft-delete Extension·raw SQL 회귀 검증
  • yarn validate 전체 green (전 suite 실DB 통과)

참고

  • 우선순위: 중 (런타임 핵심 의존이지만 v6은 당분간 지원됨 — openid-client #61보다 후순위 가능)
  • Dependabot 설정에 prisma 메이저 ignore 등록 여부 확인 후, 없다면 Tech Debt: jest 29 → 30 마이그레이션 #58/#60과 동일하게 등록

Metadata

Metadata

Assignees

No one assigned

    Labels

    📦 Dependencies의존성 업데이트 (Dependabot 등)🧱 Tech Debt기술 부채 / 추후 마이그레이션 필요

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions