drizzleBuild type-safe database queries with Drizzle ORM patterns.
Install via ClawdBot CLI:
clawdbot install ivangdavila/drizzleRequires:
$inferSelect for query return types, $inferInsert for insert input — they differ (select has defaults filled, insert has optionals)relations() in a separate call, not inline with table — Drizzle separates schema from relationswhere: eq(users.id, 5) not where: { id: 5 } — Prisma syntax doesn't workand() / or(): where: and(eq(users.active, true), gt(users.age, 18))db.query.users.findMany() for relational queries with with:, db.select().from(users) for SQL-like — mixing them causes type errorsdrizzle-kit push is dev-only (destructive) — production needs drizzle-kit generate then drizzle-kit migratestrict: true in drizzle.config.ts to catch schema drift before it hits productionpgTable, imports from drizzle-orm/pg-coremysqlTable, imports from drizzle-orm/mysql-core sqliteTable, imports from drizzle-orm/sqlite-coredb.transaction(async (tx) => {}) — Drizzle doesn't auto-batch.prepare() for queries executed repeatedly — skips query building overhead.limit() to every findMany() / select() — no default limit means full table scansawait on queries returns a Promise, not results — TypeScript doesn't catch this if you ignore the returnreturning() is required to get inserted/updated rows back — without it you get { rowCount } onlyjsonb(), MySQL uses json() — wrong function = wrong serializationGenerated Mar 1, 2026
Building a scalable online store with complex product catalogs, user profiles, and order management. Drizzle's type-safe queries ensure data integrity for inventory updates and transaction processing, while its driver-specific optimizations handle high concurrency during sales events.
Creating a multi-tenant software service with isolated customer data and analytics dashboards. Drizzle's schema separation and migration tools help manage evolving features across tenants, and its performance tips like query preparation reduce latency for frequent user interactions.
Developing secure systems for patient records and appointment scheduling with strict compliance requirements. Drizzle's transaction support ensures data consistency for critical operations, and its type inference prevents errors in handling sensitive JSON medical data across different database drivers.
Implementing real-time reporting tools for banking or investment tracking with complex relational queries. Drizzle's query syntax and limit enforcement prevent full table scans on large datasets, while its migration strictness catches schema drift before deploying updates to production environments.
Selling custom database-driven applications to businesses with ongoing support and integration services. Drizzle's driver-specific capabilities allow tailoring solutions for clients using PostgreSQL, MySQL, or SQLite, generating revenue through licensing and maintenance contracts.
Offering web and mobile app development services to small businesses and startups. Drizzle's beginner-friendly patterns reduce development time for MVP projects, and its performance optimizations help deliver cost-effective solutions, with revenue from project-based billing and retainer agreements.
Monetizing Drizzle-based tools, such as migration automation plugins or monitoring dashboards, through premium features or support. The skill's focus on common mistakes and integration tips creates opportunities for value-added products, driving revenue from SaaS offerings or marketplace sales.
💬 Integration Tip
Ensure consistent driver imports and use strict migrations to avoid runtime errors; wrap operations in transactions for data consistency in production.
Use the @steipete/oracle CLI to bundle a prompt plus the right files and get a second-model review (API or browser) for debugging, refactors, design checks, or cross-validation.
Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks Clawdbot to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.
Local search/indexing CLI (BM25 + vectors + rerank) with MCP mode.
Use when designing database schemas, writing migrations, optimizing SQL queries, fixing N+1 problems, creating indexes, setting up PostgreSQL, configuring EF Core, implementing caching, partitioning tables, or any database performance question.
Connect to Supabase for database operations, vector search, and storage. Use for storing data, running SQL queries, similarity search with pgvector, and managing tables. Triggers on requests involving databases, vector stores, embeddings, or Supabase specifically.
Query, design, migrate, and optimize SQL databases. Use when working with SQLite, PostgreSQL, or MySQL — schema design, writing queries, creating migrations, indexing, backup/restore, and debugging slow queries. No ORMs required.