本页还没有译文
本页 12 段还没译成한국어,下面显示的是英文原文。Use Prisma with Bun
还没翻译译自英文(bun.com)本页 12 段都还没译
Note
Prisma's dynamically loaded subcommands, such as prisma dev, require npm to be installed alongside Bun. The commands
used in this guide (prisma init, prisma migrate, and prisma generate) are built into the CLI. Generated code
works with Bun using the prisma-client generator.
-
Create a new project
Create a directory and initialize it with
bun init.mkdir prisma-app cd prisma-app bun init -
Install Prisma dependencies
Then install the Prisma CLI (
prisma), Prisma Client (@prisma/client), and the LibSQL adapter as dependencies.bun add -d prisma bun add @prisma/client @prisma/adapter-libsql -
Initialize Prisma with SQLite
Use the Prisma CLI with
bunxto initialize the schema and migration directory. This guide uses a local SQLite database file.prisma initwrites its connection string,DATABASE_URL="file:./dev.db", to.env.bunx --bun prisma init --datasource-provider sqliteThis creates a basic schema. Open
prisma/schema.prisma, update the generator block to use the Rust-free client with thebunruntime, and add aUsermodel.generator client { provider = "prisma-client" output = "../generated/prisma" output = "./generated" engineType = "client" runtime = "bun" } datasource db { provider = "sqlite" } model User { id Int @id @default(autoincrement()) email String @unique name String? } -
Create and run database migration
Generate and run the initial migration. The command writes a
.sqlmigration file toprisma/migrations, creates a new SQLite database, and runs the migration against it. Bun does not load.envautomatically when it runs a CLI with--bun. Theprisma.config.tsgenerated byprisma initreadsDATABASE_URLfrom the environment, so pass--env-file=.envexplicitly.bun run --bun --env-file=.env prisma migrate dev --name initLoaded Prisma config from prisma.config.ts. 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 `20251014141233_init` The following migration(s) have been created and applied from new schema changes: prisma/migrations/ └─ 20251014141233_init/ └─ migration.sql Your database is now in sync with your schema. -
Generate Prisma Client
prisma migrate devdoes not generate the Prisma client, so generate it with the Prisma CLI. The client provides a fully typed API for reading and writing to your database.bun run --bun --env-file=.env prisma generate -
Initialize Prisma Client with LibSQL
Create a new file
prisma/db.tsthat initializes the PrismaClient with the LibSQL adapter.import { PrismaClient } from "./generated/client"; import { PrismaLibSql } from "@prisma/adapter-libsql"; const adapter = new PrismaLibSql({ url: process.env.DATABASE_URL || "" }); export const prisma = new PrismaClient({ adapter }); -
Create a test script
Write a script that creates a new user, then counts the users in the database.
import { prisma } from "./prisma/db"; // 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.`); -
Run and test the application
Run the script with
bun run. Each run creates a new user.bun run index.tsThere are 1 users in the database.bun run index.tsThere are 2 users in the database.bun run index.tsThere are 3 users in the database.
Prisma is now set up with Bun. See the Prisma docs as you build out your application.