createSqlite(options?: SQLiteOptions): SQLiteConnector
Creates a SQLite connector with a shared database instance.
Uses Node.js built-in node:sqlite for in-memory or file-based databases.
Ideal for testing or lightweight applications. The shared database instance
supports reference counting for multiple concurrent connections.
In-memory database for testing
In-memory database for testing
import { DB, createInMemory } from "@anabranch/db"; import { createSqlite } from "@anabranch/db-sqlite"; const db = new DB(await createSqlite().connect()); await db.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)"); await db.execute("INSERT INTO users (name) VALUES (?)", ["Alice"]); const users = await db.query("SELECT * FROM users").run();
Using withConnection for automatic cleanup
Using withConnection for automatic cleanup
import { DB } from "@anabranch/db"; import { createSqlite } from "@anabranch/db-sqlite"; const result = await DB.withConnection(createSqlite(), (db) => db.withTransaction(async (tx) => { await tx.execute("INSERT INTO users (name) VALUES (?)", ["Bob"]); return tx.query("SELECT * FROM users"); }) ).run();
optional
options: SQLiteOptions