Was ist Prisma?
Prisma ORM ist ein ORM der nächsten Generation , das aus diesen Tools besteht:
- Prisma Client : Automatisch generierter und typsicherer Abfrage-Generator für Node.js und TypeScript
- Prisma Migrate : Deklaratives Datenmodellierungs- und Migrationssystem
- Prisma Studio : GUI zum Anzeigen und Bearbeiten von Daten in Ihrer Datenbank
Prisma Client kann in jeder Node.js- oder TypeScript-Backend-Anwendung (einschließlich serverloser Anwendungen und Microservices) verwendet werden. Dies kann eine REST-API , eine GraphQL-API , eine gRPC-API oder alles andere sein, was eine Datenbank benötigt.
Wenn Sie eine Datenbank zur Verwendung mit Prisma ORM benötigen, sehen Sie sich Prisma Postgres an.
Erste Schritte
Schnellstart (5 Min.)
Der schnellste Weg, mit Prisma zu beginnen, ist, den Kurzanleitungen zu folgen. Sie können zwischen zwei Datenbanken wählen:
Bringen Sie Ihre eigene Datenbank mit
Wenn Sie bereits über eine eigene Datenbank verfügen, können Sie diesen Anleitungen folgen:
- Prisma zu einem bestehenden Projekt hinzufügen
- Richten Sie mit Prisma ein neues Projekt von Grund auf ein
So funktioniert Prisma ORM
Dieser Abschnitt bietet einen allgemeinen Überblick über die Funktionsweise von Prisma ORM und seine wichtigsten technischen Komponenten. Eine ausführlichere Einführung finden Sie in der Prisma-Dokumentation .
Das Prisma-Schema
Jedes Projekt, das ein Werkzeug aus dem Prisma-Toolkit verwendet, beginnt mit einer Prisma-Schemadatei . Das Prisma-Schema ermöglicht es Entwicklern, ihre Anwendungsmodelle in einer intuitiven Datenmodellierungssprache zu definieren. Es enthält außerdem die Verbindung zu einer Datenbank und definiert einen Generator :
In diesem Schema konfigurieren Sie drei Dinge:
- Datenquelle : Gibt Ihre Datenbankverbindung an (über eine Umgebungsvariable)
- Generator : Gibt an, dass Sie Prisma Client generieren möchten
- Datenmodell : Definiert Ihre Anwendungsmodelle
Das Prisma-Datenmodell
Auf dieser Seite liegt der Fokus auf dem Datenmodell. Weitere Informationen zu Datenquellen und Generatoren finden Sie auf den jeweiligen Dokumentationsseiten.
Funktionen der Prisma-Modelle
Das Datenmodell ist eine Sammlung von Modellen . Ein Modell hat zwei Hauptfunktionen:
- Stellt eine Tabelle in der zugrunde liegenden Datenbank dar
- Stellen Sie die Grundlage für die Abfragen in der Prisma Client API bereit
Ein Datenmodell erhalten
Es gibt zwei Hauptarbeitsabläufe, um ein Datenmodell in Ihr Prisma-Schema zu „bekommen“:
- Generieren Sie das Datenmodell durch die Introspektion einer Datenbank
- Manuelles Schreiben des Datenmodells und Zuordnen zur Datenbank mit Prisma Migrate
Sobald das Datenmodell definiert ist, können Sie den Prisma-Client generieren , der CRUD- und weitere Abfragen für die definierten Modelle bereitstellt. Mit TypeScript erhalten Sie vollständige Typsicherheit für alle Abfragen (auch beim Abrufen von Teilmengen der Felder eines Modells).
Zugriff auf Ihre Datenbank mit Prisma Client
Prisma-Client generieren
Der erste Schritt bei der Verwendung von Prisma Client ist die Installation des npm-Pakets:
Beachten Sie, dass die Installation dieses Pakets den Befehl prisma generate
aufruft, der Ihr Prisma-Schema liest und den Prisma-Client-Code generiert . Der Code befindet sich in node_modules/.prisma/client
, das von node_modules/@prisma/client/index.d.ts
exportiert wird.
Nachdem Sie Ihr Datenmodell geändert haben, müssen Sie Prisma Client manuell neu generieren, um sicherzustellen, dass der Code in node_modules/.prisma/client
aktualisiert wird:
Weitere Informationen zum „Generieren des Prisma-Clients“ finden Sie in der Dokumentation.
Verwenden des Prisma-Clients zum Senden von Abfragen an Ihre Datenbank
Sobald der Prisma-Client generiert ist, können Sie ihn in Ihren Code importieren und Abfragen an Ihre Datenbank senden. So sieht der Setup-Code aus.
Prisma Client importieren und instanziieren
Sie können Prisma Client wie folgt importieren und instanziieren:
oder
Jetzt können Sie Abfragen über die generierte Prisma Client API senden. Hier sind einige Beispielabfragen. Beachten Sie, dass alle Prisma Client-Abfragen einfache alte JavaScript-Objekte zurückgeben.
Erfahren Sie mehr über die verfügbaren Vorgänge in den Prisma Client-Dokumenten oder sehen Sie sich dieses Demo-Video (2 Min.) an.
Alle User
aus der Datenbank abrufen
Fügen Sie die posts
-Relation in jedes zurückgegebene User
ein
Filtern Sie alle Post
Datensätze, die "prisma"
enthalten
Erstellen Sie einen neuen User
und einen neuen Post
Datensatz in derselben Abfrage
Aktualisieren eines vorhandenen Post
-Datensatzes
Verwendung mit TypeScript
Beachten Sie, dass bei Verwendung von TypeScript das Ergebnis dieser Abfrage statisch typisiert wird, sodass Sie nicht versehentlich auf eine nicht vorhandene Eigenschaft zugreifen können (und Tippfehler beim Kompilieren erkannt werden). Weitere Informationen zur Nutzung der generierten Typen von Prisma Client finden Sie auf der Seite „Erweiterte Verwendung generierter Typen“ in der Dokumentation.
Gemeinschaft
Prisma verfügt über eine große und unterstützende Community begeisterter Anwendungsentwickler. Sie können uns auf Discord und hier auf GitHub beitreten.
Abzeichen
Haben Sie mit Prisma etwas Tolles gebaut? 🌟 Zeigen Sie es mit diesen Abzeichen , perfekt für Ihre Readme-Datei oder Website.
MCP-Server
Die Prisma-CLI enthält einen Prisma-MCP-Server . Dieser wird über diesen CLI-Befehl gestartet:
Die meisten KI-Tools unterstützen eine JSON-basierte Konfiguration für MCP-Server, die wie folgt aussieht:
Der MCP-Server von Prisma ermöglicht KI-Agenten die Verwaltung von Prisma-Postgres- Datenbanken (z. B. das Hochfahren neuer Datenbankinstanzen oder das Ausführen von Schemamigrationen).
Sicherheit
Wenn Sie ein Sicherheitsproblem melden möchten, kontaktieren Sie uns bitte unter security@prisma.io .
Unterstützung
Stellen Sie eine Frage zu Prisma
Sie können im prisma
Repository auf GitHub Fragen stellen und Diskussionen zu Prisma-bezogenen Themen anstoßen.
Erstellen Sie einen Fehlerbericht für Prisma
Wenn Sie eine Fehlermeldung sehen oder auf ein Problem stoßen, erstellen Sie bitte unbedingt einen Fehlerbericht! Best Practices zum Erstellen von Fehlerberichten (z. B. zum Hinzufügen zusätzlicher Debug-Ausgaben) finden Sie in der Dokumentation.
Senden Sie eine Funktionsanfrage
Sollte Prisma aktuell über eine bestimmte Funktion nicht verfügen, schauen Sie unbedingt in der Roadmap nach, ob diese für die Zukunft bereits geplant ist.
Wenn die Funktion in der Roadmap mit einem GitHub-Problem verknüpft ist, hinterlassen Sie bitte unbedingt eine 👍 Reaktion auf das Problem und idealerweise einen Kommentar mit Ihren Gedanken zu der Funktion!
Beitragen
Beachten Sie unsere Beitragsrichtlinien und den Verhaltenskodex für Mitwirkende .
Teststatus
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Verwalten Sie Prisma Postgres-Datenbanken mit Leichtigkeit
Related MCP Servers
- AsecurityAlicenseAqualityFacilitates management and optimization of PostgreSQL databases, offering analysis, setup guidance, and debugging, while ensuring secure and efficient database operations.Last updated -3612TypeScriptAGPL 3.0
- -securityFlicense-qualityProvides read-only access to PostgreSQL databases, enabling users to inspect database schemas and execute read-only queries through a Model Context Protocol server.Last updated -3JavaScript
- -securityAlicense-qualityA Model Context Protocol server that enables powerful PostgreSQL database management capabilities including analysis, schema management, data migration, and monitoring through natural language interactions.Last updated -619TypeScriptAGPL 3.0
- -securityFlicense-qualityA powerful server that provides administrative control over Supabase PostgreSQL databases through Cursor's Composer and Codeium's Cascade, enabling database management with features for tables, records, schema modifications, and more.Last updated -910TypeScript