ORM이란? Object-Relational Mapping (객체 관계 매핑)으로, 객체 지향 프로그래밍 언어의 객체와 관계형 데이터베이스의 테이블을 자동으로 매핑하는 기술이다. = 객체지향 언어로 관계형 데이터베이스를 추상화하여 다룰 수 있게 해 주는 도구이다.
사용해볼 ORM은 Prisma이다.
- Prisma의 특징
- 정적 타입 기반 모델
- 타입 자동 생성
- 자동완성 완벽 지원
- Rust 기반 엔진으로 빠른 쿼리 처리
pnpnm i @prisma/client prisma
pnpm exec prisma init
prisma를 다운 받고, 명령어를 실행하면 prisma/schema.prisma 파일이 생성된다.
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Get a free hosted Postgres database in seconds: `npx create-db`
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL)
}
모델을 추가해 준다.
Schema.prisma 파일을 수정한 뒤에는 pnpm exec prisma generate 를 실행해 줘야 한다.
( Schema.prisma는 설계도 역할, pnpm exec prisma generate 는 설계도를 바탕으로 Prisma Client를 조립하는 과정 )
Prisma Client 인스턴스가 하는 일 -
커넥션 풀을 한 번 생성해 다른 코드 전체에서 공유하여 사용한다. (싱글톤 패턴)
export const prisma = new PrismaClient();
이를 db.config.js 파일에 추가하면 PrismaClient가 생성된 것이다.
Prisma 메소드 예시
await prisma.user.findFirst({ where: { id:10 } });
findFirts() - where 절에 들어가는 조건문에 해당하는 데이터 하나를 찾는다. 데이터를 찾지 못한다면 null을 반환한다.
await prisma.user.create({
data: {
name: "하치",
email: "test@gmail.com",
interest:"영화"
}
});
데이터 생성 시에는 create() 메소드를 이용한다.
Migrate 해보기
Prisma는 자동 마이그레이션 시스템인 Prisma Migrate를 제공한다.
- 자동 마이그레이션 관리 - DB 변경 사항 코드로 정의하고 자동 적용
- 버전 관리 지원 - migrations 디렉토리로 마이그레이션의 히스토리 추적 가능
- 안전한 변경 - 데이터 손실 없이 스키마
두가지 migrate 도구를 제공한다
npm exec prisma migrate deploy - 운영 환경에 데이터베이스 변경 사항을 적용
pnpm exec prisma migrate dev


마이그레이션에 성공하면 디렉토리와 함께 파일이 생긴 것을 확인할 수 있다.
'서버' 카테고리의 다른 글
| [Node] 미들웨어 (0) | 2026.04.08 |
|---|---|
| [Node.js] API 만들기 (0) | 2026.04.08 |
| [Node.js] 스터디 4주차. Javascript (0) | 2026.04.01 |
| [DB] 스터디 3주차 데이터베이스 기초 (0) | 2026.03.25 |
| [Node.js] 스터디 2주. Prisma 와 Middleware (0) | 2026.03.19 |