FAQ
Short answers to common questions. Each links to the full guide.
Is MountSQLI an ORM?
Section titled “Is MountSQLI an ORM?”Yes, but it’s a compile-leaning ORM: the builder compiles to a QueryPlan
IR rather than building a class hierarchy. See Core Concepts.
Do I need a code generator?
Section titled “Do I need a code generator?”No. Types are inferred from defineTable via phantom types. No prisma generate
step. See InferTable.
Is it injection-safe?
Section titled “Is it injection-safe?”Yes, by construction. compilePlan never concatenates values; every value is a
bound parameter. Raw-SQL hatches are guarded. See Compiler & Dialects.
Which database should I use?
Section titled “Which database should I use?”SQLite for dev/tests (zero-dep, Node ≥ 22.5). Postgres or MySQL for production. See Drivers → Overview.
How do I do auth?
Section titled “How do I do auth?”Use MountAuth for full OAuth/sessions, or the primitives (hashPassword,
signJwt, Rbac, RLS) for a custom flow. See Auth → Overview.
How is RLS enforced?
Section titled “How is RLS enforced?”Policies compile into the QueryPlan as WHERE filters. Enforcement is opt-in
via enforceRls. See RLS Policy DSL.
Can the AI write queries?
Section titled “Can the AI write queries?”Yes — nlToSql emits a QueryPlan, which is type-checked and injection-safe like
any other. See Natural Language → SQL.
Does it run on the edge?
Section titled “Does it run on the edge?”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.
How do I contribute?
Section titled “How do I contribute?”See Contributing.
Related
Section titled “Related”- Glossary — term definitions.
- Upgrade Guide — version notes.
