Connectors

SQLite

Connect DB0 to local SQLite database with Node.js and Deno

You have 3 options for using SQLite:

node-sqlite

This driver uses native node:sqlite supported in Node.js >= 22.5 (experimental) and Deno >= 2.2 and requires no dependencies!

Read more in Node.js docs.
Read more in Deno docs.
import { createDatabase } from "db0";
import sqlite from "db0/connectors/node-sqlite";

const db = createDatabase(
  sqlite({
    name: ":memory:",
  }),
);

better-sqlite3

Read more in better-sqlite3.

For this connector, you need to install better-sqlite3 dependency:

npm i better-sqlite3

Use better-sqlite3 connector:

import { createDatabase } from "db0";
import sqlite from "db0/connectors/better-sqlite3";

const db = createDatabase(
  sqlite({
    name: ":memory:",
  }),
);

Options

cwd

Working directory to create database. Default is current working directory of project. (It will be ignored if path is provided an absolute path.)

name

Database (file) name. Default is db.

You can use :memory: as name for in-memory storage.

path

Related (to cwd) or absolute path to the sql file. By default it is stored in {cwd}/.data/{name}.sqlite3 / .data/db.sqlite3

sqlite3

Read more in sqlite3.

For this connector, you need to install sqlite3 dependency:

npm i sqlite3

Use sqlite3 connector:

import { createDatabase } from "db0";
import sqlite from "db0/connectors/sqlite3";

const db = createDatabase(
  sqlite({
    name: ":memory:",
  }),
);

Options

(same as better-sqlite3)