NOTE
**참고** — 현재 Prisma 는 특정 생성 코드를 실행하기 위해 Node.js 가 설치되어 있어야 합니다. `bunx prisma` 명령을 실행하는 환경에 Node.js 가 설치되어 있는지 확인하세요.새 프로젝트 만들기
먼저 디렉터리를 생성하고 bun init 으로 초기화하세요.
mkdir prisma-postgres-app
cd prisma-postgres-app
bun initPrisma 종속성 설치하기
그런 다음 Prisma CLI(prisma), Prisma Client(@prisma/client) 및 accelerate 확장판을 종속성으로 설치하세요.
bun add -d prisma
bun add @prisma/client @prisma/extension-acceleratePostgreSQL 로 Prisma 초기화하기
bunx 로 Prisma CLI 를 사용하여 스키마와 마이그레이션 디렉터리를 초기화합니다. 데이터베이스로 PostgreSQL 을 사용합니다.
bunx --bun prisma init --db이렇게 하면 기본 스키마가 생성됩니다. Bun 최적화와 함께 새로운 Rust-free 클라이언트를 사용하도록 이를 업데이트해야 합니다. prisma/schema.prisma 를 열고 생성자 블록을 수정한 다음 간단한 User 모델을 추가하세요.
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 을 설정하세요.
DATABASE_URL="postgresql://username:password@localhost:5432/mydb?schema=public"데이터베이스 마이그레이션 생성 및 실행하기
그런 다음 초기 마이그레이션을 생성하고 실행합니다.
이렇게 하면 prisma/migrations 에 .sql 마이그레이션 파일이 생성되고 Postgres 데이터베이스에 대해 마이그레이션이 실행됩니다.
bunx --bun prisma migrate dev --name initEnvironment 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 18msPrisma Client 생성하기
출력에 표시된 대로 Prisma 는 새 마이그레이션을 실행할 때마다 Prisma client 를 재생성합니다. 클라이언트는 데이터베이스에서 읽고 쓰기 위한 완전 타입 지원 API 를 제공합니다. Prisma CLI 로 클라이언트를 수동으로 재생성할 수 있습니다.
bunx --bun prisma generateAccelerate 와 함께 Prisma Client 초기화하기
이제 Prisma client 인스턴스를 생성해야 합니다. prisma/db.ts 라는 새 파일을 만들어 Postgres 어댑터와 함께 PrismaClient 를 초기화하세요.
import { PrismaClient } from "./generated/client";
import { withAccelerate } from '@prisma/extension-accelerate'
export const prisma = new PrismaClient().$extends(withAccelerate())테스트 스크립트 만들기
새 사용자를 생성한 다음 데이터베이스의 사용자 수를 세는 간단한 스크립트를 작성해 보겠습니다.
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 으로 이 스크립트를 실행해 보겠습니다. 실행할 때마다 새 사용자가 생성됩니다.
bun run index.ts데이터베이스에 1 명의 사용자가 있습니다.bun run index.ts데이터베이스에 2 명의 사용자가 있습니다.bun run index.ts데이터베이스에 3 명의 사용자가 있습니다.이것이 전부입니다! Bun 을 사용하여 Prisma Postgres 를 설정했으니 애플리케이션을 계속 개발하면서 공식 Prisma Postgres 문서 를 참조하는 것을 권장합니다.