Skip to content

NOTE

**참고** — 현재 Prisma 는 특정 생성 코드를 실행하기 위해 Node.js 가 설치되어 있어야 합니다. `bunx prisma` 명령을 실행하는 환경에 Node.js 가 설치되어 있는지 확인하세요.

새 프로젝트 만들기

먼저 디렉터리를 생성하고 bun init 으로 초기화하세요.

bash
mkdir prisma-postgres-app
cd prisma-postgres-app
bun init

Prisma 종속성 설치하기

그런 다음 Prisma CLI(prisma), Prisma Client(@prisma/client) 및 accelerate 확장판을 종속성으로 설치하세요.

bash
bun add -d prisma
bun add @prisma/client @prisma/extension-accelerate

PostgreSQL 로 Prisma 초기화하기

bunx 로 Prisma CLI 를 사용하여 스키마와 마이그레이션 디렉터리를 초기화합니다. 데이터베이스로 PostgreSQL 을 사용합니다.

bash
bunx --bun prisma init --db

이렇게 하면 기본 스키마가 생성됩니다. Bun 최적화와 함께 새로운 Rust-free 클라이언트를 사용하도록 이를 업데이트해야 합니다. prisma/schema.prisma 를 열고 생성자 블록을 수정한 다음 간단한 User 모델을 추가하세요.

prisma
generator client {
  provider = "prisma-client"
  output = "./generated"
  engineType = "client"
  runtime = "bun"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model User {
  id    Int     @id @default(autoincrement())
  email String  @unique
  name  String?
}

데이터베이스 연결 구성하기

.env 파일에 Postgres 데이터베이스 URL 을 설정하세요.

ini
DATABASE_URL="postgresql://username:password@localhost:5432/mydb?schema=public"

데이터베이스 마이그레이션 생성 및 실행하기

그런 다음 초기 마이그레이션을 생성하고 실행합니다.

이렇게 하면 prisma/migrations.sql 마이그레이션 파일이 생성되고 Postgres 데이터베이스에 대해 마이그레이션이 실행됩니다.

bash
bunx --bun prisma migrate dev --name init
txt
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "mydb", schema "public" at "localhost:5432"

Applying migration `20250114141233_init`

The following migration(s) have been created and applied from new schema changes:

prisma/migrations/
  └─ 20250114141233_init/
    └─ migration.sql

Your database is now in sync with your schema.

✔ Generated Prisma Client (6.17.1) to ./generated in 18ms

Prisma Client 생성하기

출력에 표시된 대로 Prisma 는 새 마이그레이션을 실행할 때마다 Prisma client 를 재생성합니다. 클라이언트는 데이터베이스에서 읽고 쓰기 위한 완전 타입 지원 API 를 제공합니다. Prisma CLI 로 클라이언트를 수동으로 재생성할 수 있습니다.

sh
bunx --bun prisma generate

Accelerate 와 함께 Prisma Client 초기화하기

이제 Prisma client 인스턴스를 생성해야 합니다. prisma/db.ts 라는 새 파일을 만들어 Postgres 어댑터와 함께 PrismaClient 를 초기화하세요.

ts
import { PrismaClient } from "./generated/client";
import { withAccelerate } from '@prisma/extension-accelerate'

export const prisma = new PrismaClient().$extends(withAccelerate())

테스트 스크립트 만들기

새 사용자를 생성한 다음 데이터베이스의 사용자 수를 세는 간단한 스크립트를 작성해 보겠습니다.

ts
import { prisma } from "./prisma/db";

// 새 사용자 생성
await prisma.user.create({
  data: {
    name: "John Dough",
    email: `john-${Math.random()}@example.com`,
  },
});

// 사용자 수 세기
const count = await prisma.user.count();
console.log(`데이터베이스에 ${count}명의 사용자가 있습니다.`);

애플리케이션 실행 및 테스트하기

bun run 으로 이 스크립트를 실행해 보겠습니다. 실행할 때마다 새 사용자가 생성됩니다.

bash
bun run index.ts
txt
데이터베이스에 1 명의 사용자가 있습니다.
bash
bun run index.ts
txt
데이터베이스에 2 명의 사용자가 있습니다.
bash
bun run index.ts
txt
데이터베이스에 3 명의 사용자가 있습니다.

이것이 전부입니다! Bun 을 사용하여 Prisma Postgres 를 설정했으니 애플리케이션을 계속 개발하면서 공식 Prisma Postgres 문서 를 참조하는 것을 권장합니다.

Bun by www.bunjs.com.cn 편집