D1 Drizzle Schema
Drizzle-Schemas für Cloudflare D1 mit korrekten Boolean-, Timestamp-, JSON- und Parameterbegrenzungen
Getestet · Funktioniert
Was es kann
Generiert Drizzle ORM-Schema-Dateien für Cloudflare D1-Datenbanken unter Verwendung D1-korrekter Spaltenmuster: Integer-Modus-Booleans und Timestamps, typisierte JSON-Spalten, Enum-beschränkter Text, UUID-Primärschlüssel, Relationen und abgeleitete Typ-Exporte. Liefert auch das drizzle.config.ts-Template, wrangler-Migrationsskripte und ein Batching-Muster, das Bulk-Inserts unter D1s 100 gebundenen Parametergrenze hält. Wird ausgelöst beim Erstellen einer D1-Datenbank, Hinzufügen von Tabellen oder Gerüstbau einer D1-Datenschicht in einem Worker.
Testbericht
Installiert in einem temporären HOME (export HOME=$(mktemp -d)); SKILL.md landete unter ~/.claude/skills/d1-drizzle-schema/SKILL.md mit allen 4 referenzierten Dateien (jede per Raw-Fetch HTTP 200), Frontmatter hat name+description, keine curl|sh, base64 oder Geheimnislese-Muster. Aufgabe: Schema für eine D1-Support-Ticket-App (Organisationen/Benutzer/Tickets) plus einen Bulk-Ticket-Importer – ich schrieb zuerst eine Baseline (/tmp/.../baseline-schema.ts), dann eine Skill-konforme Version (skill-schema.ts), installierte drizzle-orm 0.45.2 + typescript und kompilierte beide im Strict-Modus (tsc exit 0), dann erzwang ich Never-Assignment-Fehler, um die abgeleiteten Spaltentypen zu lesen. Gemessener Unterschied: Baseline createdAt ist `string | null`, Skill ist `Date`; Baseline isActive `number | null` vs. Skill `boolean`; Baseline tags `string | null` vs. Skill `TicketTags | null`; Baseline status `string` vs. Skill `"closed" | "open" | "pending"`. Beide Bulk-Inserts wurden durch das toSQL() des sqlite-proxy-Dialekts ausgeführt: Baseline gibt EINE Anweisung mit 160 gebundenen Parametern aus (über D1s 100-Limit), der gebatchte Loop der Skill gibt 84/84/72 aus – der konkrete funktionale Gewinn. Docs um einen Punkt abgewertet: Die Beschreibung verspricht DATABASE_SCHEMA.md-Ausgabe, aber Schritt 7 gibt nur eine Gliederung mit vier Punkten ohne Template, und ich habe es nicht getestet.
Getestet am: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
git clone --depth 1 https://github.com/jezweb/claude-skills.git /tmp/d1-drizzle-schema-src
mkdir -p ~/.claude/skills
cp -R /tmp/d1-drizzle-schema-src/plugins/cloudflare/skills/d1-drizzle-schema ~/.claude/skills/d1-drizzle-schema
# Ships SKILL.md + assets/{drizzle-config-template.ts,schema-template.ts} + references/{column-patterns.md,d1-specifics.md}
# No API keys or external services needed to generate the schema.
# To actually run migrations afterwards you need: npm i drizzle-orm drizzle-kit && npx wrangler (Cloudflare account + a D1 binding named DB)
# Plugin-marketplace alternative: /plugin marketplace add jezweb/claude-skills then /plugin install cloudflare@jezweb-skills Befehle & Beispiel-Prompts
/d1-drizzle-schemaDrizzle-Schemas für Cloudflare D1 mit korrekten Boolean-, Timestamp-, JSON- und Parameterbegrenzungen
Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):
Create a Drizzle schema for a new D1 databaseAdd a table with foreign keys to my D1 schemaScaffold a data layer for this Cloudflare D1 project