Prisma ClickHouse
Looking for Prisma on ClickHouse?
Prisma does not support ClickHouse. If what you actually want is the useful part of the Prisma experience — generated types, predictable query code, and a clean TypeScript workflow — hypequery is the closer fit for ClickHouse.
Prisma fit
Relational app databases
hypequery fit
ClickHouse analytics workloads
Type source
Generated from live schema
Prisma models a relational world that ClickHouse does not implement
Prisma is excellent when your data model is tables, relations, and transactional writes. ClickHouse is a columnar analytics database optimized for append-heavy workloads, large scans, and aggregation.
ClickHouse runtime values break normal ORM expectations
DateTime values come back as strings, UInt64 values come back as strings, and ClickHouse-specific functions and clauses are part of normal analytics work. Those are not natural Prisma abstractions.
Most teams searching for Prisma on ClickHouse really want a schema-first TypeScript workflow
The practical need is generated types, safe query composition, and a reusable delivery path across APIs, jobs, and dashboards. That is the gap hypequery closes for ClickHouse teams.
What to use
Use hypequery as the schema-first TypeScript layer for ClickHouse
hypequery gives you the part of the Prisma experience that matters for ClickHouse: types generated from the real database, fluent query composition in TypeScript, and a way to reuse those queries across your stack.
- Generate TypeScript types from your live ClickHouse schema
- Use a composable query builder built for ClickHouse analytics queries
- Keep runtime type mappings accurate: DateTime, UInt64, Decimal, Nullable
- Promote queries into typed REST endpoints and OpenAPI docs when teams need shared delivery
- Use the same contract across backend code, dashboards, and internal tooling
Step 1
Generate types from the real schema
This keeps TypeScript aligned with actual ClickHouse runtime behaviour instead of pretending the database behaves like Prisma’s supported engines.
Step 2
Write typed ClickHouse queries instead of relational ORM code
ClickHouse applications usually want query composition, aggregations, and reusable delivery paths rather than relation loading or transactional unit-of-work patterns. hypequery stays close to that shape.
If your stack already uses Prisma with Postgres, the clean split is often Prisma for transactional application data and hypequery for ClickHouse analytics.
That keeps each tool aligned to the database shape it was built for instead of asking a relational ORM to cover an analytics database it does not support.
Step 2
Query ClickHouse with generated types
A realistic ClickHouse query usually looks more like analytics SQL than relational ORM code. This is where a ClickHouse-specific TypeScript layer is more useful than generic ORM expectations.
Where teams usually get stuck
The questions this page should answer
Does Prisma support ClickHouse?
No. Prisma does not support ClickHouse. If you need a schema-first TypeScript workflow for ClickHouse analytics, hypequery is the direct alternative.
Prisma alternative for ClickHouse
The better fit is a schema-generated ClickHouse query layer rather than a relational ORM. hypequery gives you generated types, fluent queries, and typed APIs on top of ClickHouse.
ORM for ClickHouse
The practical need is usually type-safe queries and reusable delivery paths, not relations and transactions. That is the gap hypequery closes for ClickHouse teams.
Use Prisma with Postgres and ClickHouse together
A common architecture is Prisma for transactional Postgres data and hypequery for ClickHouse analytics. Each tool stays inside the workload shape it was designed for.
Further reading
Go deeper where it actually helps
ClickHouse ORM
The broader page for teams looking for an ORM-like workflow on ClickHouse.
Open guide
Drizzle ORM for ClickHouse
Another dedicated unsupported-ORM intent page aimed at teams coming from Drizzle.
Open guide
TypeORM for ClickHouse
The same unsupported-ORM intent pattern for teams coming from TypeORM.
Open guide
ClickHouse schema generation
See how live-schema introspection becomes TypeScript types that match real ClickHouse runtime values.
Open guide
Next step
Start with hypequery on one real ClickHouse query
Generate schema types from your ClickHouse instance and try one real analytics query. That is the fastest way to validate whether the Prisma-style ClickHouse workflow you want is really a generated-schema query-layer problem instead.