Prisma란 Node.js와 TypeScript를 위한 오픈소스 차세대 ORM이다.
ORM???
ORM은 우리의 소스코드와 DB사이의 다리역할을 해주는 역할이다. SQL문법을 공부하지 않아도 손쉽게 데이터베이스에 접근할 수 있게 해주는 도구라 생각하면 된다.
프리즈마를 사용하기위해서 우선 VSCODE 에 확장프로그램을 설치해 주자.
npm i prisma -D
그 후에 npm을 사용해서 설치해준다.
설치를 한 후에
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
'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 |