Fähigkeiten prisma-expert
📦

prisma-expert

Sicher ⚙️ Externe Befehle🔑 Umgebungsvariablen

Prisma ORM für Datenbankentwicklung meistern

Probleme mit Prisma-Schema-Fehlern, Migrationskonflikten oder langsamen Datenbankabfragen? Dieser Skill bietet Expertenhilfe für Schema-Design, Migrationsverwaltung und Abfrageoptimierung für PostgreSQL, MySQL und SQLite.

Unterstützt: Claude Codex Code(CC)
📊 71 Angemessen
1

Die Skill-ZIP herunterladen

2

In Claude hochladen

Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen

3

Einschalten und loslegen

Teste es

Verwendung von "prisma-expert". Schema mit impliziter Many-to-Many-Relation, die Leistungsprobleme verursacht

Erwartetes Ergebnis:

Implizite Many-to-Many-Relation zwischen User- und Post-Modellen identifiziert. Empfehlung: Explizites Join-Modell mit zusätzlichen Feldern für Metadaten erstellen. @relation-Direktiven mit klarer Namenskonvention hinzugefügt. Zusammengesetzter Index auf Foreign Keys für Join-Leistung hinzugefügt.

Verwendung von "prisma-expert". N+1-Abfrage im User-Listing-Endpunkt, die Beiträge einzeln abruft

Erwartetes Ergebnis:

N+1-Abfragemuster erkannt. Lösung: Einzelne Post-Abfragen durch einzelne Abfrage mit include-Relation ersetzt. 101 Abfragen auf 1 Abfrage reduziert. select hinzugefügt, um zurückgegebene Felder zu begrenzen. Geschätzte 95% Reduzierung der Datenbank-Round-Trips.

Sicherheitsaudit

Sicher
v1 • 2/24/2026

Static analysis flagged 88 patterns that are all false positives for this legitimate Prisma ORM helper skill. External commands are standard Prisma CLI operations (validate, migrate, generate). Network references are documentation URLs. Environment access is limited to DATABASE_URL and NODE_ENV configuration required for database connectivity. No malicious patterns, credential exfiltration, or dangerous code execution detected.

1
Gescannte Dateien
361
Analysierte Zeilen
3
befunde
1
Gesamtzahl Audits
Probleme mit niedrigem Risiko (1)
External Command Execution
Skill executes shell commands via npx prisma CLI for environment detection and database operations. All commands are legitimate Prisma tooling with hardcoded arguments.
Auditiert von: claude

Qualitätsbewertung

38
Architektur
100
Wartbarkeit
87
Inhalt
31
Community
100
Sicherheit
91
Spezifikationskonformität

Was du bauen kannst

Full-Stack-Entwickler, der eine SaaS-Anwendung erstellt

Entwerfen Sie ein skalierbares Prisma-Schema mit korrekten Benutzer-, Abonnement- und Abrechnungsmodellen. Erstellen Sie sichere Migrationsworkflows für Produktionsumgebungen und optimieren Sie Abfragen für die Dashboard-Leistung.

Team-Lead, der Migrationskonflikte löst

Debuggen Sie konfliktierende Migrationen von mehreren Entwicklern. Lernen Sie, prisma migrate resolve zu verwenden, den Migrationsverlauf zu squaschen und Team-Workflows zu etablieren, um zukünftige Konflikte zu vermeiden.

Backend-Entwickler, der API-Leistung optimiert

Identifizieren und beheben Sie N+1-Abfrageprobleme in REST- oder GraphQL-APIs. Implementieren Sie korrekte select- und include-Muster, fügen Sie strategische Indizes hinzu und konfigurieren Sie Connection Pooling für stark frequentierte Endpunkte.

Probiere diese Prompts

Schema-Design-Überprüfung
Überprüfen Sie mein Prisma-Schema auf Best-Practices. Prüfen Sie Relationsdefinitionen, Indexnutzung und Feldtypen. Schlagen Sie Verbesserungen für Leistung und Wartbarkeit vor.
Migration-Debugging
Meine Prisma-Migration ist fehlgeschlagen mit Fehler [Fehler einfügen]. Die Datenbank ist in einem inkonsistenten Zustand. Helfen Sie mir, das Problem zu diagnostizieren, und geben Sie Schritt-für-Schritt-Befehle zur Lösung.
Abfrageoptimierung
Ich habe diese langsame Prisma-Abfrage [Abfrage einfügen]. Analysieren Sie sie auf N+1-Probleme, Over-Fetching und fehlende Indizes. Zeigen Sie mir die optimierte Version mit Erklärung.
Connection-Pool-Konfiguration
Ich deploye auf [Vercel/AWS Lambda/Render] und erhalte Verbindungsfehler. Helfen Sie mir, Prisma Connection Pooling für meine serverlose Umgebung mit den korrekten DATABASE_URL-Parametern zu konfigurieren.

Bewährte Verfahren

  • Verwenden Sie immer explizite @relation mit fields und references für Klarheit und um Relationsauflösungsprobleme zu vermeiden
  • Aktivieren Sie Query-Logging in der Entwicklung, um langsame Abfragen und N+1-Probleme frühzeitig zu identifizieren
  • Verwenden Sie migrate dev nur in der Entwicklung - verwenden Sie immer migrate deploy für Produktion mit CI/CD-Pipelines

Vermeiden

  • Verwendung von impliziten Many-to-Many-Relationen, wenn Sie Metadaten auf der Join-Tabelle speichern müssen
  • prisma.user.findMany() aufrufen und dann in einer Schleife verwandte Daten abrufen - verursacht N+1-Abfragen
  • migrate dev in der Produktion ausführen, was zu Datenverlust führen kann und nicht idempotent ist

Häufig gestellte Fragen

Wie setze ich meine Entwicklungsumgebung zurück, ohne Produktionsdaten zu verlieren?
Verwenden Sie npx prisma migrate reset nur in der Entwicklung. Dieser Befehl löscht die Datenbank, wendet alle Migrationen erneut an und reseedet. Führen Sie dies niemals in der Produktion aus. Erstellen Sie für die Produktion stattdessen eine neue Migration mit den erforderlichen Änderungen.
Was ist der Unterschied zwischen prisma migrate dev und prisma migrate deploy?
migrate dev ist für die Entwicklung - es erstellt Migrationsdateien, wendet sie an und setzt bei Schema-Abweichungen zurück. migrate deploy ist für die Produktion - es wendet nur ausstehende Migrationen an, ohne neue Dateien zu erstellen oder zurückzusetzen. Verwenden Sie niemals migrate dev in der Produktion.
Wie behebe ich Migrationskonflikte, wenn mehrere Entwickler Migrationen erstellen?
Verwenden Sie prisma migrate resolve, um konfliktierende Migrationen als angewendet oder zurückgesetzt zu markieren. Bei komplexen Konflikten müssen Sie möglicherweise manuell Migrations-SQL-Dateien bearbeiten. Etablieren Sie einen Team-Workflow, bei dem Entwickler Migrationen pullen und anwenden, bevor sie neue erstellen.
Warum erhalte ich in der Produktion zu viele Verbindungsfehler?
Ihr Connection Pool ist erschöpft. Fügen Sie connection_limit zu Ihrer DATABASE_URL hinzu (z.B. connection_limit=5). Für Serverless verwenden Sie eine globale PrismaClient-Instanz, um Verbindungen wiederzuverwenden. Für stark frequentierte Apps可以考虑 PgBouncer oder den Connection Pooling Ihres Cloud-Anbieters.
Kann Prisma mit bestehenden Datenbanken arbeiten?
Ja. Verwenden Sie npx prisma db pull, um eine bestehende Datenbank zu introspektieren und ein Schema zu generieren. Überprüfen und passen Sie das generierte Schema an, dann führen Sie npx prisma generate aus, um den Client zu erstellen. Sie können auch prisma migrate verwenden, um zukünftige Schema-Änderungen zu verwalten.
Wie behandle ich Datenbanktransaktionen in Prisma?
Verwenden Sie prisma.$transaction mit einem Array für sequentielle Operationen oder eine Callback-Funktion für interaktive Transaktionen mit Geschäftslogik. Konfigurieren Sie maxWait, timeout und isolationLevel-Optionen. Beachten Sie, dass interaktive Verbindungen länger halten.

Entwicklerdetails

Dateistruktur

📄 SKILL.md