Skip to content

SQLite

@mountsqli/driver-sqlite uses Node’s built-in node:sqlite. It has zero external dependencies.

Terminal window
pnpm add @mountsqli/driver-sqlite
import "@mountsqli/driver-sqlite";
import { mountsqli } from "@mountsqli/core";
const db = mountsqli({ driver: "sqlite", url: ":memory:", tables: [users] });
URL Behavior
:memory: fresh in-memory DB, per process
./app.db file-backed, persists _mount_migrations

bool() columns are stored as 0/1. The driver decodes them to boolean on read using type info carried in the plan, so you always get true/false.

  • Local development and tests (fast, no setup).
  • Edge/serverless where you want zero deps.
  • Scripts and CLIs.
  • Use a file URL in apps so migrations persist.
  • Use :memory: for tests and one-off scripts.
  • Keep the Node version at ≥ 22.5 in CI.
  • Running migrations against :memory: then wondering where they went.
  • Deploying on Node < 22.5 with this driver.