Skip to content

FAQ

Short answers to common questions. Each links to the full guide.

Yes, but it’s a compile-leaning ORM: the builder compiles to a QueryPlan IR rather than building a class hierarchy. See Core Concepts.

No. Types are inferred from defineTable via phantom types. No prisma generate step. See InferTable.

Yes, by construction. compilePlan never concatenates values; every value is a bound parameter. Raw-SQL hatches are guarded. See Compiler & Dialects.

SQLite for dev/tests (zero-dep, Node ≥ 22.5). Postgres or MySQL for production. See Drivers → Overview.

Use MountAuth for full OAuth/sessions, or the primitives (hashPassword, signJwt, Rbac, RLS) for a custom flow. See Auth → Overview.

Policies compile into the QueryPlan as WHERE filters. Enforcement is opt-in via enforceRls. See RLS Policy DSL.

Yes — nlToSql emits a QueryPlan, which is type-checked and injection-safe like any other. See Natural Language → SQL.

The plan-is-data design keeps allocation low, so it fits edge runtimes. Use Postgres/MySQL drivers there (avoid node:sqlite’s Node ≥ 22.5 need). See Performance.

See Contributing.