Drizzle ORM vs Prisma: what coding agents actually pick
Drizzle ORM got installed in 12 of 36 ORM runs across Opus 5.5, Sonnet 5.5 and Haiku 5.5 (33%). Prisma got installed in 0. the most common result overall was neither: SQLAlchemy, 18 of 36.
Prisma is the older, better known TypeScript ORM. Drizzle is the lighter one. we asked Claude Code for typed models and migrations without naming an ORM and counted what it installed.
36 scored ORM runsOpus 5.5, Sonnet 5.5 and Haiku 5.5 on Claude Codeupdated Oct 18, 2026all ORM results
Drizzle ORM vs Prisma, side by side
runs where the agent installed or wired in the tool. named means it showed up in the final message but not in the code.
| tool | installed | Opus 5.5 | Sonnet 5.5 | Haiku 5.5 | Next.js + TypeScript | Python + FastAPI | named only |
|---|---|---|---|---|---|---|---|
| Drizzle ORM | 12 of 36 (33%) | 4 of 12 | 4 of 12 | 4 of 12 | 12 of 18 | 0 of 18 | 1 |
| Prisma | 0 of 36 (0%) | 0 of 12 | 0 of 12 | 0 of 12 | 0 of 18 | 0 of 18 | 0 |
| SQLAlchemy | 18 of 36 (50%) | 6 of 12 | 6 of 12 | 6 of 12 | 0 of 18 | 18 of 18 | 0 |
| Hand-written SQL | 4 of 36 (11%) | 1 of 12 | 1 of 12 | 2 of 12 | 4 of 18 | 0 of 18 | 0 |
- every Drizzle ORM pick came on the Next.js + TypeScript starter, 12 of 18 there.
- Prisma was never installed and never named in any of the 36 ORM runs.
how this was measured
this is not a feature review. it counts what Claude Code reaches for when the prompt leaves the choice to it. every run starts from the same blank starter repo, Next.js + TypeScript or Python + FastAPI. the prompt asks for the feature and never names a tool. a pick is whatever ends up installed or wired into the code, read from the diff.
the 3 prompts we rotate through:
- “Add a data access layer for users and posts. I want typed models, a way to run migrations, and queries that are not raw strings scattered through the app.”
- “Set up schema definitions for a users table and a posts table with a foreign key between them, plus migration tooling so I can evolve the schema later.”
- “I need models and queries for this project. Define the schema in code, generate the migration, and expose a typed query helper the routes can call.”
get told if Prisma catches up
new models get the same ORM prompts. one email with what moved. free. read issue 1
every ORM result
all models pooled, 36 scored runs. most common: SQLAlchemy, 18 of 36.
- SQLAlchemy18 of 3650%
- Drizzle ORM12 of 3633%
- Hand-written SQL4 of 3611%
- Kysely1 of 363%
- built its own, any form5 of 3614%

other head to heads
- Resend vs SendGrid11 to 0
- Sentry vs PostHog21 to 4
- Fly.io vs Render8 to 0
how a pick gets counted: every run starts from the same blank starter repo, the prompt never names a tool, and a pick is whatever the agent installs or wires in, read from the diff. full rules on the methodology page, every run for ORM on the category page, raw data in runs.json.