npx prisma generate
npx prisma db push
npm run build
맞습니다! 정확한 지적입니다. DB 구조(스키마)가 변경되었을 때 이를 Prisma에 알려주고, 실제 프로젝트 코드(TypeScript 타입 등)에 반영하는 과정이 반드시 필요합니다.
상황에 따라 주로 사용하는 두 가지 핵심 명령어가 있습니다.
1. 개발 환경에서: npx prisma migrate dev
로컬 환경에서 schema.prisma 파일을 수정한 뒤, 이를 실제 DB에 적용하고 싶을 때 사용합니다.
- 하는 일:
schema.prisma의 변경 내용을 바탕으로 SQL 마이그레이션 파일을 생성합니다.- 해당 SQL을 실제 DB에 실행하여 테이블 구조를 바꿉니다.
- 변경 데이터에 맞는 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 dev | DB 구조 변경 + 마이그레이션 기록 생성 |
| 3. 동기화 | npx prisma generate | TypeScript 타입 업데이트 (자동 완성 활성화) |
💡 팁:
migrate dev명령어를 실행하면 내부적으로generate가 자동으로 포함되어 실행됩니다. 따라서 개발 중에는 보통migrate dev하나로 해결되는 경우가 많습니다.