[DB] Prisma란?

Leejunyoung·2023년 4월 14일
0

DB

목록 보기
1/5
post-thumbnail

Prisma는 NodeJS와 Typescript ORM(Object Relational Mapping)으로, 자바스크립트 혹은 타입스크립트 코드와 데이터베이스 사이에 다리를 놓아주는 번역기의 역할을 한다.

타입스크립트는 타입을 사용해서 문자열을 써야하는 자리에 숫자를 쓴다는가 하면 경고를 받게 되는 편리한 기능이 있기 때문에 Prisma를 사용하면 더 편리하게 데이터베이스를 사용할 수 있게 된다.

타입스크립트를 사용하면 오류가 발생하기 전에 알려주기 때문에 SQL 같은 데이버베이스 언어를 작성하지 않고 타입스크립트 코드만 작성하는 게 더 좋다.

PostgreSQL, MySQL, SQL Server, SQLite, MongoDB에 사용할 수 있다.

Data model 작성

Prisma를 사용하기 위해선 먼저 schema.prisma 라는 파일에 작성하여 Prisma에게 데이터베이스가 어떻게 생겼는지를 설명해줘야 한다.

이 파일에선 Prisma에게 데이터의 모양을 설명해주는 것이다.

이렇게 Prisma에게 전부 설명해주고 나면, Prisma는 데이터베이스의 타입에 관해 알게 된다.

Prisma가 이런 타입에 관한 정보를 알고 있으면, client를 생성해 줄 수 있다.

client를 이용하면 타입스크립트로 데이터베이스와 직접 상호작용할 수 있다.

즉, Prisma에게 데이터베이스가 어떻게 생겼는지를 설명해주면 Prisma는 client를 생성해 줄 것이고, 그 client 안에는 필요한 모든 name이 들어있다.

Prisma는 데이터베이스와 상호작용 할 수 있게 해줄뿐 아니라 client라는 것도 만들어 주는데, client는 자동완성을 지원하기 때문에 아주 좋다.

예를 들어 Prisma Schema에 User model이 있으면

이렇게 자동완성 기능을 사용할 수 있다.
이유는 Prisma가 User에 posts가 있다는 것도 알고 posts에는 title이 있다는 것도 알기 때문이다.
그리고 그 데이터를 가지고 우리가 할 수 있는 모든 작업들을 자동완성 해준다.

Prisma Studio

Prisma Studio란 Visual Database Browser로 데이터베이스를 위한 관리자 패널(Admin Panel) 같은 것이다.

profile
안녕하세요

0개의 댓글