-
Prisma에 대해프론트엔드 2025. 8. 15. 18:43
Prisma란
- prisma란 차세대 ORM 도구이다.
ORM? : 데이터베이스 데이터를 객체처럼 다루는 기술이다.
-> 원래 데이터 베이스에 직접 접근할 때는 SQL문을 사용해서 가져와야 한다.
SELECT id, name, email FROM "User" WHERE id = 1;-> 하지만 prisma ORM을 사용하면 객체 형태로 데이터를 조회가 가능하다.
const user = await prisma.user.findUnique({where: { id: 1 },});console.log(user.name);정리
- ORM은 데이터베이스 테이블을 객체로 연결해, SQL을 직접 사용하지 않고 데이터를 객체처럼 다룰수 있게 해준다.
Prisma가 하는일
prisma client
- schema.prisma에 정의한 모델을 기반으로, postgreSQL이나, Javascript/typescript를 객체처럼 다룰 수 있게 해주는 코드를 자동으로 만들어줌
명령어
- npx prisma genertate -> npm 사용시
주의사항 ⚠️
- 만약 schema.prisma에 데이터가 변경시 -> 꼭 genertate를 해줘야 한다prisma migrate
- 데이터베이스 구조(스키마)를 코드로 관리
- schema.prisma 에서 모델 구조를 정의하고, npx prisma migrate dev 를 실행하면 DB에 해당 구조를 반영하는 SQL이 자동 생성되고 실행됨.prisma stuido
- npx prsima studio를 활용하면 브라우저 기반 db를 조회할 수 있다.prisma CRUD
import { PrismaClient } from '@prisma/client';const prisma = new PrismaClient();
// CREATEconst user = await prisma.user.create({data: {name: '현돈',email: 'hyundon@example.com',},});
// READconst allUsers = await prisma.user.findMany({include: { posts: true },});
// UPDATEawait prisma.user.update({where: { id: 1 },data: { name: '변경된 이름' },});
// DELETEawait prisma.user.delete({where: { id: 1 },});'프론트엔드' 카테고리의 다른 글
리액트 성능 개선에 대해 (6) 2025.08.18 자바스크립트 함수 (2) 2025.08.18 package.json + package.lock.json (3) 2025.08.15 Date.prototype.toISOString() (0) 2025.08.13 Next.js 미들웨어로 온보딩 접근 제어 구현하기 (2) 2025.08.13