NOTE
**Hinweis** — Derzeit benötigt Prisma Node.js, um bestimmten Generierungscode auszuführen. Stellen Sie sicher, dass Node.js in der Umgebung installiert ist, in der Sie `bunx prisma`-Befehle ausführen.Ein neues Projekt erstellen
Erstellen Sie zuerst ein Verzeichnis und initialisieren Sie es mit bun init.
mkdir prisma-postgres-app
cd prisma-postgres-app
bun initPrisma-Abhängigkeiten installieren
Installieren Sie dann die Prisma-CLI (prisma), Prisma Client (@prisma/client) und die Accelerate-Erweiterung als Abhängigkeiten.
bun add -d prisma
bun add @prisma/client @prisma/extension-acceleratePrisma mit PostgreSQL initialisieren
Wir verwenden die Prisma-CLI mit bunx, um unser Schema und Migrationsverzeichnis zu initialisieren. Wir verwenden PostgreSQL als unsere Datenbank.
bunx --bun prisma init --dbDies erstellt ein grundlegendes Schema. Wir müssen es aktualisieren, um den neuen Rust-freien Client mit Bun-Optimierung zu verwenden. Öffnen Sie prisma/schema.prisma und ändern Sie den Generator-Block, fügen Sie dann ein einfaches User-Modell hinzu.
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?
} Datenbankverbindung konfigurieren
Richten Sie Ihre Postgres-Datenbank-URL in der .env-Datei ein.
DATABASE_URL="postgresql://username:password@localhost:5432/mydb?schema=public"Datenbankmigration erstellen und ausführen
Erstellen und führen Sie dann die initiale Migration aus.
Dies erstellt eine .sql-Migrationsdatei in prisma/migrations und führt die Migration gegen Ihre Postgres-Datenbank aus.
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 generieren
Wie in der Ausgabe angegeben, generiert Prisma unseren Prisma Client neu, wann immer wir eine neue Migration ausführen. Der Client bietet eine vollständig typisierte API zum Lesen und Schreiben aus unserer Datenbank. Sie können den Client manuell mit der Prisma-CLI neu generieren.
bunx --bun prisma generatePrisma Client mit Accelerate initialisieren
Jetzt müssen wir eine Prisma Client-Instanz erstellen. Erstellen Sie eine neue Datei prisma/db.ts, um den PrismaClient mit dem Postgres-Adapter zu initialisieren.
import { PrismaClient } from "./generated/client";
import { withAccelerate } from '@prisma/extension-accelerate'
export const prisma = new PrismaClient().$extends(withAccelerate())Ein Testskript erstellen
Schreiben wir ein einfaches Skript, um einen neuen Benutzer zu erstellen und dann die Anzahl der Benutzer in der Datenbank zu zählen.
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(`Es gibt ${count} Benutzer in der Datenbank.`);Die Anwendung ausführen und testen
Lassen Sie uns dieses Skript mit bun run ausführen. Jedes Mal, wenn wir es ausführen, wird ein neuer Benutzer erstellt.
bun run index.tsEs gibt 1 Benutzer in der Datenbank.bun run index.tsEs gibt 2 Benutzer in der Datenbank.bun run index.tsEs gibt 3 Benutzer in der Datenbank.Das war's! Jetzt, wo Sie Prisma Postgres mit Bun eingerichtet haben, empfehlen wir, die offiziellen Prisma Postgres-Dokumentationen zu konsultieren, während Sie Ihre Anwendung weiterentwickeln.