Db Seed

Genererer gjentakbare SQL/Drizzle seed-skript fra ditt skjema, i fremmednøkkelrekkefølge

av jezweb · jezweb/claude-skills

Bestått ★ 8.8/10

Db Seed — Genererer gjentakbare SQL/Drizzle seed-skript fra ditt skjema, i fremmednøkkelrekkefølge

Hva den gjør

Leser et prosjekts Drizzle-skjema, SQL-migreringer, eller rå DDL og skriver et seed-skript som setter inn domene-passende eksempeldata i fremmednøkkelavhengighetsrekkefølge. Produserer idempotente filer (slettinger i omvendt rekkefølge eller upserts), grupperer innsettinger for Cloudflare D1-grenser, og lagrer booleans som INTEGER, tidsstempler som ISO-8601 TEXT, og JSON som serialisert TEXT. Utløses ved forespørsler om å seed-e en database, legge til eksempel-/demo-/testdata, eller fylle utviklingstabeller.

Testrapport

Installert i en midlertidig HOME (export HOME=$(mktemp -d)) fra en grunn klone; ferdighetsmappen inneholder kun SKILL.md (7522 bytes), frontmatter har name+description, body refererer ikke til eksterne filer, og jeg fant ingen curl|sh, base64, eller injeksjonstekst. Utgangstest: Jeg skrev et 5-tabells SQLite/D1-skjema (customers, categories, products with a JSON-as-TEXT column, orders with a CHECK constraint, order_items) og produserte to seed-skript — seed-baseline.sql skrevet på min standardmåte, seed-skill.sql strengt etter ferdighetens body — og utførte deretter begge to ganger mot ekte sqlite3 3.43. Baseline ble lastet én gang, men den andre kjøringen kastet fem feil ("UNIQUE constraint failed: customers.email", categories.slug, products.id, orders.id, order_items.id); ferdighetsversjonen kjørte rent begge ganger og skrev ut radtellingene (customers 8, categories 4, products 10, orders 8, order_items 12). Målt datakvalitet: json_valid(attributes) AND non-empty object = 10/10 rader for ferdighetsfilen vs 0/4 for baseline ('{}'), ISO-8601 tidsstempler med time+Z 8/8 vs 0/3, 10 distinkte priser vs 4, ekte produktnavn ("Baratza Encore Grinder") vs "Product 1", pluss apostrof og CJK-rader som overlevde innsetting; ferdighetsfilen delte også 12 order_items inn i 10+2 per INSERT per dens D1 batch-regel. Utløserfraser vurdert: LOAD — "Populate my local D1 database with realistic products and orders so the dashboard isn't empty", "Write a seed script for the Drizzle schema in src/db/schema.ts, about 20 rows per table", "I need demo data for the customers and invoices tables before tomorrow's client demo"; DON'T LOAD — "Add a migration that adds a phone column to the users table", "Export the production orders table to CSV so finance can review last month's revenue" — 5/5 korrekt, selv om de brede utløsernøkkelordene "sample data"/"test data" kunne trekke den inn i ikke-database datagenereringsforespørsler. Dokumentasjonen mister et poeng fordi de D1-spesifikke påstandene ("max ~10 rows per INSERT", "100 bound parameter limit") er hevdet uten kilde, og jeg kunne bare verifisere den genererte SQL-en mot lokal SQLite, ikke ekte D1.

Testet på: 2026-07-21 · Claude Code 2.x (agent harness)

Installer

git clone --depth 1 https://github.com/jezweb/claude-skills.git /tmp/db-seed-src
mkdir -p ~/.claude/skills
cp -R /tmp/db-seed-src/plugins/cloudflare/skills/db-seed ~/.claude/skills/db-seed
# Self-contained: the skill is a single SKILL.md, no assets/ or references/ files.
# No external dependencies. Running the generated seed needs whatever your project already uses:
#   npx tsx scripts/seed.ts            (Drizzle/TypeScript output)
#   npx wrangler d1 execute DB --local --file=./scripts/seed.sql   (raw SQL output for D1)
# Alternative: the repo ships this as part of the "cloudflare" plugin
#   (plugins/cloudflare/.claude-plugin/plugin.json) if you prefer a plugin-marketplace install.
# The skill offers an optional POST /api/seed Worker endpoint pattern — it tells you to remove it
# before production; do that, or skip that section entirely.

Kommandoer og eksempelprompter

  • /db-seedGenererer gjentakbare SQL/Drizzle seed-skript fra ditt skjema, i fremmednøkkelrekkefølge

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):

  • Seed the dev database with sample orders
  • Generate fixtures for the users and posts tables
  • Create demo data respecting foreign key order