D1 Drizzle Schema
Schematy Drizzle dla Cloudflare D1 z poprawnymi limitami dla boolean, timestamp, JSON i parametrów
Testowano · Działa
Co robi ten skill
Generuje pliki schematów Drizzle ORM dla baz danych Cloudflare D1, używając poprawnych dla D1 wzorców kolumn: booleanów i znaczników czasu w trybie całkowitym, typowanych kolumn JSON, tekstu ograniczonego wyliczeniami, kluczy głównych UUID, relacji i wywnioskowanych eksportów typów. Dostarcza również szablon drizzle.config.ts, skrypty migracji wrangler i wzorzec wsadowania, który utrzymuje masowe wstawki poniżej limitu 100 związanych parametrów D1. Uruchamia się podczas tworzenia bazy danych D1, dodawania tabel lub tworzenia warstwy danych D1 w Workerze.
Raport z testu
Zainstalowano w tymczasowym HOME (export HOME=$(mktemp -d)); SKILL.md wylądował w ~/.claude/skills/d1-drizzle-schema/SKILL.md ze wszystkimi 4 odwołanymi plikami (każdy pobrany z HTTP 200), frontmatter ma name+description, brak curl|sh, base64 lub wzorców odczytu tajemnic. Zadanie: schemat dla aplikacji D1 do obsługi zgłoszeń (organisations/users/tickets) plus importer zgłoszeń masowych — najpierw napisałem bazowy (/tmp/.../baseline-schema.ts), następnie wersję zgodną z umiejętnością (skill-schema.ts), zainstalowałem drizzle-orm 0.45.2 + typescript i skompilowałem oba w trybie ścisłym (tsc exit 0), a następnie wymusiłem błędy nigdy-przypisania, aby odczytać wywnioskowane typy kolumn. Zmierzona różnica: bazowy createdAt to `string | null`, umiejętności to `Date`; bazowy isActive `number | null` vs umiejętności `boolean`; bazowe tags `string | null` vs umiejętności `TicketTags | null`; bazowy status `string` vs umiejętności `"closed" | "open" | "pending"`. Uruchomiono oba masowe wstawki przez toSQL() dialektu sqlite-proxy: bazowy emituje JEDNO zapytanie ze 160 związanymi parametrami (powyżej limitu 100 D1), wsadowa pętla umiejętności emituje 84/84/72 — konkretna funkcjonalna wygrana. Dokumentacja obniżona o jeden punkt: opis obiecuje wyjście DATABASE_SCHEMA.md, ale Krok 7 daje tylko czteropunktowy zarys bez szablonu, i nie ćwiczyłem tego.
Testowano: 2026-07-21 · Claude Code 2.x (agent harness)
Instalacja
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 Komendy i przykładowe prompty
/d1-drizzle-schemaSchematy Drizzle dla Cloudflare D1 z poprawnymi limitami dla boolean, timestamp, JSON i parametrów
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
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