티스토리 뷰
framework/Prisma
✅ Prisma Client 설치 및 사용법 – TypeScript + PostgreSQL 실습 가이드
octo54 2025. 4. 15. 11:21반응형
✅ Prisma Client 설치 및 사용법 – TypeScript + PostgreSQL 실습 가이드
"Prisma Client를 설치하고 PostgreSQL과 상호작용하는 방법, 정말 쉽고 빠르게 이해해보자."
Prisma Client는 자동 생성되는 타입 안전한 ORM 라이브러리입니다.
DB 모델을 정의하면, 그에 따라 자동으로 타입이 보장되는 코드가 만들어지며,
VSCode의 자동완성 및 정적 분석을 통해 더욱 강력한 개발 경험을 제공합니다.
🧩 Prisma Client 설치
npm install @prisma/client
이전 글에서 사용했던 Prisma 초기화 명령어가 필요합니다:
npx prisma init
그리고 DB 모델을 작성한 후에는 반드시 다음 명령어를 실행해야 Prisma Client가 생성됩니다:
npx prisma generate
일반적으로 migrate dev, db pull을 수행하면 자동으로 generate도 함께 실행됩니다.
하지만 직접 schema만 수정했다면 generate를 수동으로 실행해야 합니다!
📐 Prisma Client 구조
반응형
설치 후 생성되는 구조:
node_modules/@prisma/client/
└── index.d.ts ← 자동 생성된 타입 정의
프로젝트 내부에 다음과 같이 임포트하여 사용합니다:
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
✅ Prisma Client 사용 예시
schema.prisma 예시 모델:
model User {
id Int @id @default(autoincrement())
name String
email String @unique
}
▶️ 유저 생성
const user = await prisma.user.create({
data: {
name: '훈창',
email: 'hoon@example.com',
},
})
console.log('생성된 유저:', user)
📋 유저 목록 조회
const users = await prisma.user.findMany()
console.log('전체 유저:', users)
🔍 조건 조회 (where)
const oneUser = await prisma.user.findUnique({
where: { email: 'hoon@example.com' },
})
✏️ 유저 수정
await prisma.user.update({
where: { id: 1 },
data: { name: '훈창 수정' },
})
🗑 유저 삭제
await prisma.user.delete({
where: { id: 1 },
})
🛠 Prisma Client 사용 시 팁
항목 내용
PrismaClient 생성 | 서버 전체에서 단 1개만 생성 (싱글턴 패턴) |
자동완성 지원 | .user. 입력 시 모든 메서드 자동 완성 |
타입 안전성 | 모델 변경 시 타입도 자동 반영 |
로그 확인 | 생성 시 log 옵션 추가 가능 |
예시:
const prisma = new PrismaClient({
log: ['query', 'info', 'warn', 'error']
})
⚠️ PrismaClient 최적 사용법 (NestJS 또는 서버 프로젝트)
PrismaClient를 매 요청마다 새로 만들면 DB 연결 누수가 발생할 수 있습니다.
✅ 싱글톤 패턴으로 관리 (예: lib/prisma.ts)
import { PrismaClient } from '@prisma/client'
const globalForPrisma = globalThis as unknown as {
prisma: PrismaClient | undefined
}
export const prisma =
globalForPrisma.prisma ??
new PrismaClient({
log: ['query'],
})
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma
🧪 실제 실행 예제
npx ts-node src/index.ts
이 명령어로 prisma.user.create() 또는 findMany() 등의 메서드가 정상 동작하는지 확인할 수 있습니다.
✅ 요약 정리
항목 설명
설치 | npm install @prisma/client |
자동 생성 | npx prisma generate (또는 migrate/pull 시 자동 실행) |
사용 | new PrismaClient() 인스턴스 생성 |
활용 | CRUD, 조건 검색, 관계형 조인 등 모두 지원 |
최적화 | 싱글톤 패턴으로 메모리 관리 필요 |
Prisma Client,PostgreSQL ORM,TypeScript Prisma,Prisma 시작하기,Prisma 설치법,Node.js PostgreSQL 연동,PrismaClient 사용법,타입 안전한 ORM,DB 자동완성 지원,Prisma Client 최적화
'framework > Prisma' 카테고리의 다른 글
✅ Prisma란 무엇인가? – 현대적인 TypeScript ORM의 새로운 기준 (0) | 2025.04.17 |
---|---|
✅ Prisma Client로 DB 쿼리 날리기 – CRUD 실전 예제 (PostgreSQL + TypeScript) (0) | 2025.04.16 |
✅ Prisma Migrate로 DB 스키마 자동 생성하기 (TypeScript + PostgreSQL) (0) | 2025.04.14 |
✅ Prisma로 TypeScript + PostgreSQL 프로젝트 처음부터 시작하기 (0) | 2025.04.12 |
✅ 기존 프로젝트에 Prisma 도입하기 – TypeScript + PostgreSQL 환경 기준 (1) | 2025.04.11 |
※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프론트엔드면접
- NestJS
- llm
- nodejs
- 관리자
- 개발블로그
- gatsbyjs
- Python
- kotlin
- Next.js
- 웹개발
- SEO최적화
- github
- LangChain
- Prisma
- SEO 최적화
- nextJS
- App Router
- fastapi
- rag
- 프론트엔드
- 백엔드개발
- REACT
- Docker
- CI/CD
- Ktor
- PostgreSQL
- AI챗봇
- Webpack
- seo 최적화 10개
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형