질문:
src/generated/prisma/index.d.ts 에 다음 코드가 있는 걸 확인 했는데,
export type Post = $Result.DefaultSelection<Prisma.$PostPayload>
src/generated/prisma 는 gitignore 처리 되어 있어요.
그러면 이거.. git 에 올라가지 않으니 vercel 배포시 오류날 것 같은데,
저 export type Post 부분을 prisma 에서 제공하는 인터페이스? 등을 활용해서 제가 작성해야 하나유?
답변:
아니요! Vercel 배포 시 자동으로 해결돼요. 걱정하지 마세요!
Vercel 배포 과정
1. 빌드 시 자동 생성
// package.json
{
"scripts": {
"build": "next build",
"postinstall": "prisma generate --no-engine" // 또는 build 스크립트에 포함
}
}
2. Vercel이 자동으로 실행
# Vercel에서 배포 시 자동 실행 순서
1. pnpm install
2. prisma generate # generated 폴더 자동 생성!
3. next build
권장 설정
package.json 스크립트 수정
{
"scripts": {
"dev": "next dev",
"build": "prisma generate && next build",
"postinstall": "prisma generate"
}
}
.gitignore는 그대로 유지
# Prisma
/prisma/generated/
/src/generated/prisma/
타입 사용법
생성된 타입 그대로 사용
// route handler
import { Post, User } from '@prisma/client'
export async function GET(): Promise<Response> {
const posts: Post[] = await prisma.post.findMany()
return Response.json(posts)
}
프론트엔드에서도 동일하게
// components/post-list.tsx
import { Post } from '@prisma/client'
interface Props {
posts: Post[]
}
결론
- ✅
generated
폴더는 gitignore 유지 - ✅ Vercel이 배포 시 자동으로
prisma generate
실행 - ✅
@prisma/client
에서 타입 import해서 사용
별도로 타입을 만들 필요 없어요!
'TIL' 카테고리의 다른 글
[250719 TIL] SSO, OAuth (0) | 2025.07.19 |
---|---|
[250719 TIL] Prisma seeding (0) | 2025.07.19 |
[250719 TIL] Tanstack SSR시 왜 클라이언트 매번 새로 생성? (0) | 2025.07.19 |
[250713 TIL] 파이썬 Comprehension (1) | 2025.07.13 |
[250713 TIL] pydantic, sqlalchemy (0) | 2025.07.13 |