TIL Journal
홈으로
#Stack

Prisma

# Prisma

데이터베이스를 자바스크립트 객체처럼 다룰 수 있게 해주는 ORM 도구.
Node.js 생태계에서 널리 쓰임.


데이터베이스가 거대한 엑셀 파일이라고 떠올려보자. 원래는 SQL이라는 언어로 “이 시트에서 이 행 가져와”, "이 셀 수정해"라고 말해야 한다.

기존 SQL 방식

SELECT * FROM users WHERE age > 20;

Prisma 방식 (JS/TS)

const users = await prisma.user.findMany({
  where: { age: { gt: 20 } }
});

SQL이랑 비교하면 훨씬 읽기 쉽다


# Prisma가 해주는 3가지

# 1️) 스키마 정의

schema.prisma 파일 하나에 "User 테이블에는 이름, 이메일, 나이가 있어"라고 적으면 Prisma가 알아서 DB에 테이블을 만들어준다.

model User {
  id    Int    @id @default(autoincrement())
  name  String
  email String @unique
  age   Int
}

# 2) 타입 자동 생성

TypeScript를 쓰면 prisma.user.create()를 칠 때 어떤 필드가 있는지 자동완성으로 다 뜬다.

→ 오타와 실수가 거의 안 난다.

# 3) 마이그레이션

나중에 User에 전화번호 컬럼 추가 하고자 한다면 스키마 파일을 수정하고 아래 명령어 한 번이면 끝이다.

npx prisma migrate dev

DB가 알아서 업데이트된다.


# 왜 쓸까?

장점 설명
편리함 SQL 직접 안 써도 됨
타입 안전성 런타임 에러가 컴파일 단계에서 잡힘
DB 호환성 PostgreSQL, MySQL, SQLite, MongoDB 등 지원 — DB 바꿔도 코드는 거의 그대로

마지막으로 한 줄로 요약해 보자면 Prisma는 SQL 대신 코드로 안전하게 깔끔하게 데이터베이스를 다루게 해주는 도구다!