Next.js 프로젝트 배포시 서버에서…

npx prisma generate
npx prisma db push
npm run build

맞습니다! 정확한 지적입니다. DB 구조(스키마)가 변경되었을 때 이를 Prisma에 알려주고, 실제 프로젝트 코드(TypeScript 타입 등)에 반영하는 과정이 반드시 필요합니다.

상황에 따라 주로 사용하는 두 가지 핵심 명령어가 있습니다.


1. 개발 환경에서: npx prisma migrate dev

로컬 환경에서 schema.prisma 파일을 수정한 뒤, 이를 실제 DB에 적용하고 싶을 때 사용합니다.

  • 하는 일:
    1. schema.prisma의 변경 내용을 바탕으로 SQL 마이그레이션 파일을 생성합니다.
    2. 해당 SQL을 실제 DB에 실행하여 테이블 구조를 바꿉니다.
    3. 변경 데이터에 맞는 Prisma Client(타입 정의 등)를 새로 생성합니다.
  • 언제 쓰나요? 새로운 컬럼을 추가하거나 테이블을 만들 때 사용합니다.

2. 코드에만 반영할 때: npx prisma generate

DB 구조는 이미 바뀌어 있는데, 내 코드(VS Code 자동 완성 등)에서 그 변경사항이 인식되지 않을 때 사용합니다.

  • 하는 일: node_modules/.prisma/client에 있는 타입 정의 파일을 업데이트합니다.
  • 언제 쓰나요? 다른 팀원이 만든 마이그레이션 파일을 git pull 받았을 때, 혹은 CI/CD 배포 파이프라인에서 실행합니다.

요약: 워크플로우 한눈에 보기

단계명령어역할
1. 설계schema.prisma 수정내가 원하는 DB 구조를 코드로 작성
2. 반영npx prisma migrate devDB 구조 변경 + 마이그레이션 기록 생성
3. 동기화npx prisma generateTypeScript 타입 업데이트 (자동 완성 활성화)

💡 팁: migrate dev 명령어를 실행하면 내부적으로 generate가 자동으로 포함되어 실행됩니다. 따라서 개발 중에는 보통 migrate dev 하나로 해결되는 경우가 많습니다.