prisma

yonghee·2022년 5월 29일
0

baechu-market

목록 보기
7/32

prisma가 무엇인지 공식 홈페이지를 통해 정의를 보게 되면

Prisma는 차세대 오픈 소스 데이터베이스 툴킷입니다. 다음 부분으로 구성됩니다.

Prisma Client : Node.js 및 TypeScript용 자동 생성 및 유형 안전 쿼리 빌더

Prisma Migrate : 마이그레이션 시스템

Prisma Studio : 데이터베이스의 데이터를 보고 편집하는 GUI

*ORM : ORM은 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 도구이다.

기존 ORM과 다른 점

Prisma Schema

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

Prisma introspect

Prisma에서는 기존의 DataBase를 수작업으로 ORM에 매핑해줄 필요가 없습니다. Database URL을 설정하고, npx prisma introspect 한번이면 기존의 Database의 구조를 자동으로 Prisma schema 로 불러올 수 있습니다.기존에 있던 Database 에 Prisma를 사용하시려는 분들에게 유용한 기능입니다.

Prisma Migrate

Prisma Migrate를 이용하면 새로운 테이블을 생성하거나, 기존 테이블에 열을 추가하는등 Database를 변경하는 기능(도구)입니다. Prisma schema를 직접 변경하여 Database를 변경함으로써, 복잡한 SQL문을 사용하지 않아도 됩니다. Prisma CLI 상에서 사용할 수 있습니다. 아래의 코드로 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 Client 는 꼭 graphQL과 같이 사용하지 않아도 됩니다. 종종 기존의 REST API에 prisma를 도입하시려는 분들이 질문을 주시곤 합니다. Prisma Client는 데이터베이스로 쿼리를 보내는 것만 책임지고 있기 때문에, 어떤 HTTP 서버 라이브러리나 웹 프레임워크와도 결합 될 수 있습니다. -Prisma Docs

Prisma와 같이 사용할 수 있는 라이브러리 및 프레임워크입니다.

Express koa hapi Fastify Sails AdonisJs NestJS Next.js
Foal TS Polka Micro Feathers

Prisma Studio

Prisma Studio는 GUI로 지원하는 Database 편집기입니다. SQL이나 Prisma 쿼리 없이, DB를 수정, 편집 할 수 있습니다. 아래의 명령어로 Prisma studio를 실행 시킬 수 있습니다.

npx prisma studio

profile
필요할 때 남기는 날것의 기록 공간

0개의 댓글