Zum Inhalt springen
Alle Technologien

Drizzle das schlanke, SQL-nahe TypeScript-ORM

Drizzle definiert das Datenbank-Schema direkt in TypeScript und hält Queries bewusst nah am SQL: Wer die Query liest, weiß, welches SQL läuft. Es kommt ohne generierten Client und schweren Runtime-Layer aus und eignet sich dadurch auch für Serverless- und Edge-Umgebungen. Wir nutzen Drizzle, wenn SQL-Kontrolle, schlanke Deployments oder SvelteKit-Setups gefragt sind, und entscheiden pro Projekt, ob Drizzle oder Prisma besser passt. Wir übergeben die lesbare, versionierte Datenschicht als White Label unter Ihrem Namen, damit Ihr Team sie später ohne Blackbox selbst optimieren kann.

Datenbankzugriff Systemebene
Die Rolle von Drizzle im Projekt, schematisch dargestellt.

01 / Einsatz

Wofür sich Drizzle eignet

  • SvelteKit- und Next.js-Apps mit schlanker Server-Datenschicht
  • Serverless- und Edge-Deployments, wo Kaltstart und Bundle-Größe zählen
  • SQL-erfahrene Teams, die ihre Queries lesen und optimieren wollen
  • Anwendungen mit komplexen Abfragen (Joins, Aggregationen, Window Functions)
  • SQLite- und PostgreSQL-Projekte vom Tool bis zur Geschäftsanwendung

02 / Einblick

Drizzle in der Praxis

db/schema.ts
import { pgTable, serial, text, timestamp } from 'drizzle-orm/pg-core'
import { drizzle } from 'drizzle-orm/node-postgres'
import { eq } from 'drizzle-orm'

export const users = pgTable('users', {
  id: serial('id').primaryKey(),
  email: text('email').notNull().unique(),
  name: text('name'),
  createdAt: timestamp('created_at').defaultNow(),
})

const db = drizzle(process.env.DATABASE_URL!)

// Typsichere Query: Ergebnis vollstaendig aus dem Schema typisiert
const kunde = await db
  .select()
  .from(users)
  .where(eq(users.email, 'kunde@example.com'))

03 / Vorgehen

So arbeiten wir mit Drizzle

  1. Schema-Definition in TypeScript (drizzle-orm), Typen entstehen ohne Codegen

  2. Migrations mit drizzle-kit: generieren, prüfen, versionieren

  3. Query-Schicht nah am SQL: lesbar, EXPLAIN-bar, ohne Blackbox

  4. Transaktionen und Prepared Statements für kritische Pfade

  5. Integration in Load-Funktionen (SvelteKit) bzw. Server Actions (Next.js)

  6. Deployment mit Migrations im CI/CD, vom Node-Server bis zur Edge

Das liefern wir bei Drizzle

  • TypeScript-Schema als Single Source of Truth (Typen inklusive)
  • Versionierte Migrations (drizzle-kit) mit nachvollziehbarem SQL
  • Lesbare Query-Schicht mit dokumentierten Zugriffs-Mustern
  • Seed-Scripts für Entwicklungs- und Testdaten
  • Übergabe-Doku: Setup, Migrations-Workflow, Konventionen

Häufige Fragen zu Drizzle

Drizzle oder Prisma: Was empfehlen Sie?
Dieselbe ehrliche Antwort wie auf der Prisma-Seite: beides gute Werkzeuge, unterschiedlicher Charakter. Drizzle ist leichter, SQL-näher und edge-tauglich; Prisma bietet das deklarative Schema und besonders team-freundliches Tooling. Faustregel: Drizzle wenn Kontrolle und schlanke Deployments zählen, Prisma für Schema-First-Teams. Wir wählen nach Projekt-Fit, nicht nach Mode.
Warum „nah am SQL"? Ist das nicht mehr Aufwand?
Kurzfristig minimal, langfristig ein Vorteil: Queries lassen sich direkt lesen, mit EXPLAIN analysieren und gezielt optimieren, weil keine Abstraktionsschicht das erzeugte SQL versteckt. Gerade bei komplexen Abfragen ist das der Unterschied zwischen Raten und Wissen.
Läuft Drizzle wirklich auf Edge-Runtimes?
Ja, Drizzle hat keinen nativen Binär-Layer und keinen generierten Client, dadurch funktioniert es in Node ebenso wie in Workers-Umgebungen. Voraussetzung ist ein passender Datenbank-Treiber (z. B. HTTP-basierte PostgreSQL-Treiber für Edge-Setups); das klären wir bei der Architektur-Entscheidung.
Können Sie ein bestehendes Prisma-Projekt auf Drizzle umstellen?
Technisch ja, Drizzle kann bestehende Datenbanken introspecten und daraus das TypeScript-Schema erzeugen; danach wird die Query-Schicht schrittweise migriert. Ob sich der Umstieg lohnt, prüfen wir vorher ehrlich: Ein funktionierendes Prisma-Setup tauschen wir nicht ohne konkreten Grund aus.

Drizzle für Ihr Projekt?

Beschreiben Sie uns Ihre Anforderungen. Wir besprechen, wie die Technologie in Ihr Projekt und Ihre vorhandene Infrastruktur passt.

Projekt besprechen