# Drizzle Orm

> Use when: define type-safe schemas, migrations, and queries with Drizzle ORM and full TS inference.

- Skill: `kimtth/drizzle-orm` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kimtth/drizzle-orm`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kimtth/drizzle-orm/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: kimtth (https://skillmd.com/u/kimtth)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kimtth/drizzle-orm

---


Goal: end-to-end type safety from schema to query result.

Use for:
- modeling tables, relations, and constraints in TypeScript
- generating and applying migrations safely
- writing queries with inferred result types

Workflow:
1. Define tables and columns in the schema with explicit types.
2. Declare relations for type-safe joins and nested reads.
3. Generate migrations from the schema; review the SQL.
4. Apply migrations through the migrator, not ad hoc edits.
5. Query with the typed builder; let result types infer.
6. Derive insert/select types from the schema for app code.

Patterns:
- single source of truth: the schema drives types and migrations
- relations for typed joins instead of manual mapping
- prepared statements for hot queries
- transactions for multi-step writes

Rules:
- never hand-edit applied migrations; create a new one
- review generated SQL before running it
- derive types from the schema; do not duplicate them
- scope transactions tightly around the related writes

