Skip to content

TEXT 컬럼(Product.description 등) 바이트 상한 검증 부재 #320

Description

@chanwoo7

배경

cleanRequiredText/cleanNullableText는 문자 수(코드 포인트)로 상한을 판정한다. @db.Text(65,535바이트) 컬럼에 50,000자 상한을 걸어 둔 경로(예: SellerProductLifecycleServiceProduct.description)는 한글 50,000자(150KB)·이모지 17,000개(68KB)처럼 문자 수는 통과하지만 바이트가 넘쳐 DB 오류가 난다.

PR #316 리뷰(Codex)에서 지적. 코드 포인트 전환(#316) 이전의 UTF-16 기준으로도 동일하게 통과하던 기존 문제라 해당 PR 범위 밖으로 분리.

후보

  • @db.Text 컬럼을 MEDIUMTEXT로 마이그레이션(16MB) — 상한 50,000자 × 4바이트 = 200KB로 충분
  • 또는 헬퍼에 maxBytes 옵션을 추가해 TEXT 경로에서 65,535바이트를 함께 검증

대상 파악

grep -n "@db.Text" prisma/schema.prisma로 컬럼 목록을 뽑고, 각 컬럼에 쓰이는 헬퍼 상한을 대조한다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions