NOTE
**注意** — Prisma の動的サブコマンドローディングシステムは現在、Bun と一緒に npm のインストールを必要とします。これは `prisma init`、`prisma migrate` などの特定の CLI コマンドに影響します。生成されたコードは、新しい `prisma-client` ジェネレーターを使用して Bun で完全に動作します。新しいプロジェクトを作成
Prisma は Bun ですぐに使用できます。まず、ディレクトリを作成し、bun init で初期化します。
mkdir prisma-app
cd prisma-app
bun initPrisma 依存関係をインストール
次に Prisma CLI(prisma)、Prisma Client(@prisma/client)、および LibSQL アダプターを依存関係としてインストールします。
bun add -d prisma
bun add @prisma/client @prisma/adapter-libsqlSQLite で Prisma を初期化
bunx で Prisma CLI を使用してスキーマとマイグレーションディレクトリを初期化します。簡単のため、インメモリの SQLite データベースを使用します。
bunx --bun prisma init --datasource-provider sqliteこれにより、基本的なスキーマが作成されます。Bun 最適化で新しい Rust フリーのクライアントを使用するように更新する必要があります。prisma/schema.prisma を開き、ジェネレーターブロックを変更し、シンプルな User モデルを追加します。
generator client {
provider = "prisma-client"
output = "./generated"
engineType = "client"
runtime = "bun"
}
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 --bun 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 `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.
✔ Generated Prisma Client (6.17.1) to ./generated in 18msPrisma Client を生成
出力に示されているように、Prisma は新しいマイグレーションを実行するたびに Prisma クライアント を再生成します。クライアントは、データベースからの読み取りと書き込みのための完全に型付けされた API を提供します。Prisma CLI を使用してクライアントを手動で再生成できます。
bunx --bun prisma generateLibSQL で Prisma Client を初期化
Prisma クライアントインスタンスを作成する必要があります。LibSQL アダプターで PrismaClient を初期化するために、新しいファイル prisma/db.ts を作成します。
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 });テストスクリプトを作成
新しいユーザーを作成し、データベース内のユーザー数をカウントするシンプルなスクリプトを作成しましょう。
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.tsjohn-0.12802932895402364@example.com を作成
データベースには 1 人のユーザーがいます。bun run index.tsjohn-0.8671308799782803@example.com を作成
データベースには 2 人のユーザーがいます。bun run index.tsjohn-0.4465968383115295@example.com を作成
データベースには 3 人のユーザーがいます。これで完了です!Bun を使用して Prisma を設定したので、アプリケーションの開発を続ける際に 公式 Prisma ドキュメント を参照することをお勧めします。