TypeORM으로 결정!!

  1. NestJS 에서 공식적으로 지원해준다. (** 가장 결정적인 이유)
  2. Prisma는 자기만의 독자적인 DB 엔진 레이어를 필요로 한다.

Untitled

** 두 개 직접 비교해보면 좋을듯

  1. 타입 안전성을 보장해주지 못하지만 DTO를 만들며 유효성 검사하는 로직을 우리가 거쳐주면 괜찮지 않을까

ORM (Object Relational Mapping)

= 객체와 데이터베이스간의 관계를 매핑하는 도구

** 일단 Prisma란?

= ORM 프레임워크

Prisma의 인기가 급상승한 이유

(배경) 원시적으로 SQL을 작성하는 방법은 번거롭고 많은 오버헤드(수동 연결)를 발생시켜 생산성이 저하됨.

// 나도 정확히 몰라 공식문서의 예제를 긁어왔다

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
}

model User {
  id        Int      @id @default(autoincrement())
  createdAt DateTime @default(now())
  email     String   @unique
  name      String?
  role      Role     @default(USER)
  posts     Post[]
}