스킬 drizzle-orm-patterns
🗄️

drizzle-orm-patterns

안전 ⚡ 스크립트 포함📁 파일 시스템 액세스⚙️ 외부 명령어🔑 환경 변수

Drizzle ORM-Muster für PostgreSQL-Datenbanken verwenden

Das Erstellen typsicherer Datenbankabfragen mit Drizzle ORM kann komplex sein. Dieses Skill bietet vollständige Muster für Abfragen, Transaktionen, Migrationen und Edge-Deployment mit automatisierter Sicherheitsvalidierung.

지원: Claude Codex Code(CC)
📊 70 적절함
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"drizzle-orm-patterns" 사용 중입니다. Hilf mir, eine Drizzle ORM-Abfrage zu schreiben, um Benutzer mit ihren Bestellungen zu erhalten

예상 결과:

  • Verwende einen LEFT JOIN, um Benutzer mit ihren Bestellungen abzurufen:
  • ```typescript
  • const usersWithOrders = await db
  • .select({
  • userId: users.id,
  • userName: users.name,
  • orderCount: count(orders.id),
  • })
  • .from(users)
  • .leftJoin(orders, eq(users.id, orders.userId))
  • .groupBy(users.id, users.name);
  • ```
  • Dies vermeidet N+1-Abfragen durch Verwendung einer einzelnen Abfrage mit Aggregation.

"drizzle-orm-patterns" 사용 중입니다. Wie erstelle ich eine Transaktion, die bei Fehler zurückgerollt wird

예상 결과:

  • Verwende db.transaction() mit async Callback und automatischem Rollback:
  • ```typescript
  • await db.transaction(async (tx) => {
  • const [user] = await tx.insert(users).values({ email, name }).returning();
  • await tx.insert(profiles).values({ userId: user.id, bio });
  • // If any operation fails, entire transaction rolls back
  • });
  • ```
  • Alle Operationen sind gemeinsam erfolgreich oder schlagen gemeinsam fehl.

"drizzle-orm-patterns" 사용 중입니다. Meinen Code auf SQL-Injection-Risiken validieren

예상 결과:

  • Führe den Validator auf deinen TypeScript-Dateien aus:
  • ```bash
  • python3 validate-queries.py src/**/*.ts
  • ```
  • Das Skript prüft auf String-Interpolation in sql-Templates, N+1-Abfragen, fehlende Paginierung und Typsicherheitsprobleme. Gibt Exit-Code 1 zurück, wenn Fehler gefunden wurden.

보안 감사

안전
v5 • 1/16/2026

All 931 static findings are FALSE POSITIVES. The static analyzer misidentified TypeScript template literals as shell commands, vulnerable code examples as actual exploits, and standard database patterns as sensitive data access. This is legitimate documentation with a defensive security validator tool that only reads files specified by the user. No malicious intent, no credential access, no data exfiltration, no persistence mechanisms.

12
스캔된 파일
8,458
분석된 줄 수
4
발견 사항
5
총 감사 수

위험 요인

⚡ 스크립트 포함 (1)
📁 파일 시스템 액세스 (1)
⚙️ 외부 명령어 (1)
🔑 환경 변수 (1)
감사자: claude 감사 이력 보기 →

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
21
커뮤니티
100
보안
91
사양 준수

만들 수 있는 것

Typsichere Datenbankschichten erstellen

Robuste Datenzugriffsschichten mit Drizzle ORM-Mustern für Produktionsanwendungen erstellen.

Edge-kompatiblen Datenbankcode deployen

Datenbankoperationen implementieren, die in Vercel Edge Functions und serverlosen Umgebungen laufen.

Schema-Migrationen sicher verwalten

Datenbankmigrationen mit Rollback-Strategien und Zero-Downtime-Deployment-Mustern ausführen.

이 프롬프트를 사용해 보세요

Grundlegendes Abfragemuster
Verwende das drizzle-orm-patterns Skill, um mir zu helfen, eine Drizzle ORM-Abfrage zu schreiben, die Benutzer auswählt, bei denen status gleich 'active' ist und created_at nach dem 1. Januar 2024 liegt.
Transaktionssicherheit
Zeige mir, wie ich Drizzle ORM-Transaktionen mit ordnungsgemäßer Rollback-Behandlung verwende, um einen Benutzer und sein Profil zusammen zu erstellen.
Edge-Deployment
Hilf mir, Drizzle ORM für Vercel Edge Runtime mit Neon serverless PostgreSQL zu konfigurieren.
Sicherheitsvalidierung
Verwende das validate-queries.py Skript, um meine user-service.ts Datei auf SQL-Injection-Risiken und Performance-Probleme zu überprüfen.

모범 사례

  • Immer parametrisierte Abfragen mit eq(), like() und anderen Operatoren verwenden statt String-Interpolation
  • Indizes auf Fremdschlüssel und häufig abgefragte Spalten für bessere Performance hinzufügen
  • Transaktionen kurz halten und externe API-Aufrufe innerhalb von Transaktionsblöcken vermeiden

피하기

  • String-Interpolation in sql-Templates verwenden, was zu SQL-Injection führen kann
  • Abfragen innerhalb von Schleifen durchführen, was N+1-Performance-Probleme verursacht
  • select() ohne Angabe von Feldern oder Limit im Produktionscode verwenden

자주 묻는 질문

Welche PostgreSQL-Treiber funktionieren mit Drizzle ORM?
Drizzle unterstützt @neondatabase/serverless für Edge und WebSocket, pg für Node.js mit Connection Pooling und @vercel/postgres für Vercel-Deployments.
Was sind die Grenzen von Edge Runtime-Transaktionen?
Edge Functions haben ein 25-Sekunden-Timeout. Halte Transaktionen unter 1 Sekunde und vermeide die Verarbeitung großer Datensätze innerhalb von Transaktionen.
Wie integriere ich mit bestehenden Datenbankschemas?
Definiere Tabellen mit pgTable() und Spaltendefinitionen. Drizzle kann bestehende Datenbanken introspektieren oder du kannst Schemas manuell definieren.
Sind meine Daten sicher, wenn ich das Validierungsskript verwende?
Ja. Der Validator ist ein statisches Analyse-Tool, das nur TypeScript-Dateien liest. Es stellt keine Verbindung zu Datenbanken her und überträgt keine Daten nach extern.
Warum ist meine Abfrage langsam?
Häufige Ursachen sind fehlende Indizes, N+1-Abfragen, select *-Verwendung und unoptimierte Joins. Verwende EXPLAIN ANALYZE zur Diagnose von Performance-Problemen.
Wie verhält sich Drizzle im Vergleich zu Prisma?
Drizzle ist edge-kompatibel ohne Abhängigkeiten, verwendet SQL-ähnliche Syntax und bietet Typinferenz ohne Code-Generierung. Prisma hat eine einfachere Fluent-API, ist aber nicht edge-kompatibel.