잡다한 사전

(2023.12.4) Prisma에 대해서 알아보자 본문

프로그래밍 언어/node.js

(2023.12.4) Prisma에 대해서 알아보자

잡사전집사 2023. 12. 5. 14:01
반응형

Prisma에 대해서 알아보기 전에 ORM에 대해서 먼저 알오보도록 할겠습니다.

 

ORM 이란..

ORM은 DB데이터를 객체로 매핑해 주는 역활을 하는 것을 말합니다. 모델링 된 객체와 관계를 바탕으로 SQL을 자동으로 생성해주는 도구 입니다. 

 

Prisma는 무엇일까?

Prisma는 기존 ORM과 근본적으로 다른 ORM으로 기존에 겪은 문제들을 겪지 않는다는 특징이 있습니다.

 

Prisma의 구성

Prisma는 Prisma Schema, Prisma introspect, Prisma migration, Prisma client, Prisma studio로 구성이 되어있습니다.

 

Prisma Schema

Prisma v1에서는 graphQL을 통해 model을 정의하였다면, Prisma v2에서는 Prisma Schema Language을 통해 model을 정의를 합니다. 

 

Prisma introspect

Prisma에서는 기존의 Database를 수작으로 매핑을 해줄 필요가 없습니다.

Dtabase URL을 설정을 한 뒤, npx prisma introspect 한번으로 기존 Database의 구조를 자동으로 Prisma schema로 불러올 수 있습니다.

 

Prisma Migrate

prisma migrate를 이용하면 새로운 테이블을 생성하거나, 기존 테이블에 열을 추가하는등 Database를 변경하는 작업이 가능한 기능입니다. 

ex)

// schema를 Db에 반영하고, schema를 기반으로 Prisma Client를 업데이트하는 코드

npx prisma migrate save --experimental
npx prisma migrate up --experimental
npx prisma generate

 

 

Prisma Client

prisma Client는 데이터에 맞춰 자동으로 생성되는 쿼리생성기 입니다.

위에서 말한 prisma schema를 기반으로 DB요청이 가능합니다. 

 

Prisma Studio

prisma studio는 GUI를 지원하는 Database 편집기입니다. 

npx prisma studio

위 명령어를 입력하여 prisma studio를 실행이 가능하며, Studio에서는 SQL, Prisma 쿼리 없이 DB를 수정이 가능합니다.

반응형