D1 Drizzle Schema

Drizzle schémata pro Cloudflare D1 se správnými booleany, časovými razítky, JSON a limity parametrů

od jezweb · jezweb/claude-skills

Otestováno · Funguje ★ 8.8/10

D1 Drizzle Schema — Drizzle schémata pro Cloudflare D1 se správnými booleany, časovými razítky, JSON a limity parametrů

Co umí

Generuje soubory schémat Drizzle ORM pro databáze Cloudflare D1 pomocí D1-korektních vzorů sloupců: booleany a časová razítka v celočíselném režimu, typované JSON sloupce, text omezený výčtem, primární klíče UUID, relace a odvozené exporty typů. Poskytuje také šablonu drizzle.config.ts, migrační skripty wrangler a vzor dávkování, který udržuje hromadné vkládání pod limitem 100 vázaných parametrů D1. Spouští se při vytváření databáze D1, přidávání tabulek nebo scaffoldingu datové vrstvy D1 v Workeru.

Testovací report

Nainstalováno do dočasného HOME (export HOME=$(mktemp -d)); SKILL.md se umístil do ~/.claude/skills/d1-drizzle-schema/SKILL.md se všemi 4 odkazovanými soubory (každý surově načtený HTTP 200), frontmatter má name+description, žádné curl|sh, base64 ani vzory pro čtení tajemství. Úkol: schéma pro aplikaci D1 pro podporu (organizace/uživatelé/tikety) plus importér hromadných tiketů — nejprve jsem napsal základní verzi (/tmp/.../baseline-schema.ts), poté verzi podle dovednosti (skill-schema.ts), nainstaloval drizzle-orm 0.45.2 + typescript a zkompiloval obě v přísném režimu (tsc exit 0), poté vynutil chyby nikdy-přiřazení, abych přečetl odvozené typy sloupců. Změřený rozdíl: baseline createdAt je `string | null`, dovednosti je `Date`; baseline isActive `number | null` vs dovednosti `boolean`; baseline tags `string | null` vs dovednosti `TicketTags | null`; baseline status `string` vs dovednosti `"closed" | "open" | "pending"`. Spustil jsem oba hromadné vklady přes sqlite-proxy dialekt toSQL(): baseline vydává JEDEN příkaz se 160 vázanými parametry (přes limit 100 D1), dávkovaná smyčka dovednosti vydává 84/84/72 — konkrétní funkční vítězství. Dokumentace snížena o jeden bod: popis slibuje výstup DATABASE_SCHEMA.md, ale Krok 7 dává pouze čtyřbodový nástin bez šablony a já jsem to nevyužil.

Testováno: 2026-07-21 · Claude Code 2.x (agent harness)

Instalace

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

Příkazy a ukázkové prompty

  • /d1-drizzle-schemaDrizzle schémata pro Cloudflare D1 se správnými booleany, časovými razítky, JSON a limity parametrů

Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):

  • Create a Drizzle schema for a new D1 database
  • Add a table with foreign keys to my D1 schema
  • Scaffold a data layer for this Cloudflare D1 project