注意 — 目前 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 文档。