Status: Production Ready ✅ Last Updated: 2026-01-20 Latest Version: drizzle-orm@0.45.1, drizzle-kit@0.31.8, better-sqlite3@12.5.0 Dependencies: cloudflare-d1, cloudflare-worker-base
✅ Use db.batch() for transactions - D1 doesn't support SQL BEGIN/COMMIT (see Issue #1) ✅ Test migrations locally first - Always --local before --remote ✅ Use integer with mode: 'timestamp' for dates - D1 has no native date type ✅ Use .$defaultFn() for dynamic defaults - Not .default() for functions
❌ Never use SQL BEGIN TRANSACTION - D1 requires batch API ❌ Never use drizzle-kit push for production - Use generate + apply ❌ Never mix wrangler.toml and wrangler.jsonc - Use wrangler.jsonc only
Crea database D1 indipendenti dai tipi con Drizzle ORM. Include la definizione dello schema, le migrazioni con Drizzle Kit, le relazioni e i modelli API batch D1. Previene 18 errori tra cui errori SQL BEGIN, perdita di dati a cascata, limiti di 100 parametri e problemi di chiave esterna. Utilizzare quando: definizione di schemi D1, gestione di migrazioni, inserimenti in blocco o risoluzione dei problemi D1_ERROR, BEGIN TRANSACTION, chiavi esterne, "troppe variabili SQL". Fonte: jezweb/claude-skills.