Drizzle ORM ClickHouse
Looking for Drizzle ORM on ClickHouse?
Drizzle does not support ClickHouse. If what you want is the part people actually like about Drizzle — generated types, predictable query code, and a good TypeScript workflow — hypequery is the closer fit for ClickHouse.
ClickHouse support
hypequery native
Type source
Generated from live schema
Best fit
Analytics-heavy TypeScript apps
Drizzle is built around transactional databases
Drizzle is excellent for Postgres, MySQL, and SQLite. ClickHouse is columnar, append-optimised, and built for large scans and aggregations rather than row-level relational workflows.
ClickHouse runtime types need their own mapping rules
DateTime values come back as strings, UInt64 values come back as strings, and nullable semantics differ from common ORM assumptions. Hand-maintained interfaces drift fast.
Analytics teams usually need more than a query builder
Once ClickHouse powers app features, dashboards, or APIs, teams usually need reusable query definitions and a stable delivery path as well as local query composition.
What to use
Use hypequery as the ClickHouse-native TypeScript layer
hypequery gives you the part of the Drizzle experience that matters for ClickHouse: types that come from the database, fluent queries in TypeScript, and a path to reuse those queries across scripts, APIs, and frontend code.
- Generate TypeScript types from your live ClickHouse schema
- Use a composable query builder with ClickHouse-aware helpers and raw SQL escape hatches
- Keep runtime types accurate: DateTime, UInt64, Decimal, Nullable
- Promote queries into typed REST endpoints and OpenAPI docs when they need to be shared
- Use React hooks on top of the same query contract when dashboards need the same data
Step 1
Generate types from the real schema
This is the key difference from generic TypeScript builders. The schema comes from the live ClickHouse database, so the generated types follow actual runtime behaviour rather than relational assumptions.
Step 2
Write typed ClickHouse queries in application code
The query builder stays close to SQL where that helps, but it gives you typed table names, typed column names, and reusable query composition in regular TypeScript.
If your team already uses Drizzle for Postgres and is adding ClickHouse for analytics, the clean split is usually Drizzle for transactional data and hypequery for ClickHouse.
That avoids forcing a relational abstraction onto an analytics database while keeping a familiar TypeScript workflow on both sides.
Step 2
Query ClickHouse with generated types
A typical analytics query uses ClickHouse functions, aggregation, and grouping. This is where a ClickHouse-specific builder is more valuable than a generic ORM abstraction.
Where teams usually get stuck
The questions this page should answer
Does Drizzle support ClickHouse?
No. Drizzle does not support ClickHouse. If you need a TypeScript-first workflow for ClickHouse, hypequery is the direct alternative.
Drizzle alternative for ClickHouse
The closer fit is a schema-generated ClickHouse query layer, not a relational ORM. hypequery gives you generated types, fluent queries, and typed APIs around ClickHouse.
Type-safe ClickHouse queries in TypeScript
The practical problem is not ORM branding. It is getting correct runtime types and reusable queries without hand-written interfaces. That is the gap hypequery closes.
Use Drizzle with Postgres and ClickHouse together
A common architecture is Drizzle for transactional Postgres data and hypequery for ClickHouse analytics. Each tool stays in the database shape it was built for.
Further reading
Go deeper where it actually helps
hypequery vs Drizzle
The deeper comparison page covering where the workflows overlap and where ClickHouse changes the shape of the problem.
Open guide
ClickHouse ORM
The broader page for teams looking for an ORM-like workflow on ClickHouse.
Open guide
ClickHouse schema generation
See how live-schema introspection becomes TypeScript types that match real ClickHouse runtime values.
Open guide
ClickHouse query builder
See the query builder layer in more detail, including filters, aggregations, joins, and raw SQL escape hatches.
Open guide
Next step
Generate your ClickHouse schema types and prove the workflow on one real query
That is the fastest way to evaluate whether hypequery covers the Drizzle-style ClickHouse workflow your team actually wants.