注意 — 目前 Prisma 需要安裝 Node.js 才能執行某些生成程式碼。請確保您執行 bunx prisma 命令的環境已安裝 Node.js。
Prisma 開箱即用,支援 Bun。首先,建立一個目錄並使用 bun init 進行初始化。
mkdir prisma-appcd prisma-appbun init然後將 Prisma CLI (prisma) 和 Prisma Client (@prisma/client) 作為依賴項安裝。
bun add -d prismabun add @prisma/client我們將使用 bunx 執行 Prisma CLI 來初始化我們的 schema 和 migration 目錄。為簡單起見,我們將使用記憶體中的 SQLite 資料庫。
bunx --bun prisma init --datasource-provider sqlite開啟 prisma/schema.prisma 並新增一個簡單的 User 模型。
generator client {
provider = "prisma-client-js"
output = "../generated/prisma"
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
}然後生成並執行初始遷移。
這將會在 prisma/migrations 目錄下生成一個 .sql 遷移檔案,建立一個新的 SQLite 例項,並對新例項執行遷移。
bunx prisma migrate dev --name initEnvironment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": SQLite database "dev.db" at "file:./dev.db"
SQLite database dev.db created at file:./dev.db
Applying migration `20230928182242_init`
The following migration(s) have been created and applied from new schema changes:
migrations/
└─ 20230928182242_init/
└─ migration.sql
Your database is now in sync with your schema.
✔ Generated Prisma Client (v6.11.1) to ./generated/prisma in 41ms正如輸出所示,每次執行新遷移時,Prisma 都會重新生成我們的Prisma Client。該客戶端提供了一個完全型別化的 API,用於從資料庫讀取和寫入資料。您可以使用 Prisma CLI 手動重新生成客戶端。
bunx prisma generate我們可以從 @prisma/client 匯入生成的客戶端。
import {PrismaClient} from "@prisma/client";
讓我們編寫一個簡單的指令碼來建立一個新使用者,然後計算資料庫中的使用者數量。
import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient();
// create a new user
await prisma.user.create({
data: {
name: "John Dough",
email: `john-${Math.random()}@example.com`,
},
});
// count the number of users
const count = await prisma.user.count();
console.log(`There are ${count} users in the database.`);
讓我們使用 bun run 來執行此指令碼。每次執行它時,都會建立一個新使用者。
bun run index.tsCreated john-0.12802932895402364@example.com
There are 1 users in the database.bun run index.tsCreated john-0.8671308799782803@example.com
There are 2 users in the database.bun run index.tsCreated john-0.4465968383115295@example.com
There are 3 users in the database.就是這樣!現在您已經使用 Bun 設定了 Prisma,我們建議您在繼續開發應用程式時參考 官方 Prisma 文件。