[프리즈마] prisma 사용
BackEnd/DB

[프리즈마] prisma 사용

728x90

Prisma란 Node.js와 TypeScript를 위한 오픈소스 차세대 ORM이다.

 

 

ORM???

 

ORM은 우리의 소스코드와 DB사이의 다리역할을 해주는 역할이다. SQL문법을 공부하지 않아도 손쉽게 데이터베이스에 접근할 수 있게 해주는 도구라 생각하면 된다.

 

프리즈마를 사용하기위해서 우선 VSCODE 에 확장프로그램을 설치해 주자.

 

npm i prisma -D

 

그 후에 npm을 사용해서 설치해준다.

 

 

설치를 한 후에

 

npx prisma

를 입력하면

 

npx prisma

프리즈마에 대한 설명들이 나온다.

 

그럼이제 본격적으로 사용을 한번 해보자.

 

prisma init

 

위 명령어를 사용하면 prisma 폴더와 .env파일이 생성된다.

 

 

 

 

다음과 같이 provider를 mysql로 설정한 후에, .env파일로 가서

 

 

DATABASE_URL="mysql://{유저아이디}:{유저비밀번호}@{ip주소}/{데이터베이스이름}?schema=public"

을 통해서 접속 한 후,

 

npx prisma introspect

 

명령어를 사용하면 현재 테이블 상태를 자동으로 불러읽어준다.

 

 

 

이제 이 데이터들을 CURD 하는 방법에 대해 알아보자.

 

 

이를 위해서는 prisma client 모듈을 설치해 주어야 한다.

 

npm install @prisma/client

 

 

npx prisma generate

그 후 위 명령어를 통해서 introspect으로 생성된 schema.prisma 파일을 읽어

node_moduels@prisma/client 안에 우리가 사용할 client 코드를 생성해준다.

 

 

 

과정을 수행하면 위처럼 PrismaClient를 사용할 수 있는 상태라고 안내해준다.

 

이제 아래 예제코드들을 통해서 CURD를 사용할 수 있다.

 

 

생성

const user = await prisma.user.create({
  data: {
    name: "Alice",
    email: "alice@prisma.io",
    posts: {
      create: { title: "Join us for Prisma Day 2020" },
    },
  },
})

 

읽기

const user = await prisma.user.findUnique({
  where: {
    id: 99,
  },
})

 

 

업데이트

const post = await prisma.post.update({
  where: { id: 42 },
  data: { published: true },
})

 

 

삭제

const deleteUser = await prisma.user.delete({
  where: {
    email: 'bert@prisma.io',
  },
})

 

 

 

보다 복잡한 동작들은 공식 홈페이지에 적힌 예제들을 참고하면서 찾아보면 좋을 것 같다.

 

https://www.prisma.io/docs/reference/api-reference/prisma-client-reference

 

Prisma Client API (Reference)

API reference documentation for Prisma Client.

www.prisma.io

 

728x90

'BackEnd > DB' 카테고리의 다른 글

[AWS] pretier DB 사용하기  (1) 2024.03.05
MySQL password 설정 (5.7.6 버전 이상)  (0) 2022.09.14
06_MySQL : node.js 와의 연결  (0) 2022.09.13
05_MySQL : 관계형 데이터베이스 , JOIN  (0) 2022.09.13
04_MySQL : 테이블, CURD  (0) 2022.09.13