@forinda/kickjs-db-sqlite
v2.0.1
Published
better-sqlite3 adapter for @forinda/kickjs-db — MigrationAdapter + Kysely SqliteDialect
Maintainers
Readme
@forinda/kickjs-db-sqlite
SQLite adapter for
@forinda/kickjs-db.
Two factories:
sqliteDialect({ database })— query-layer dialect forcreateDbClient({ dialect }).sqliteAdapter({ database })—MigrationAdapterforkick db migrate+kickDbAdapterboot-time apply.
Both consume a better-sqlite3 handle (or any structurally compatible runtime, e.g. bun:sqlite).
Install
pnpm add @forinda/kickjs-db @forinda/kickjs-db-sqlite better-sqlite3Quick start
import Database from 'better-sqlite3'
import { createDbClient } from '@forinda/kickjs-db'
import { sqliteAdapter, sqliteDialect } from '@forinda/kickjs-db-sqlite'
const database = new Database('app.db')
export const db = createDbClient({
schema, // your declared schema
dialect: sqliteDialect({ database }),
})
export const migrationAdapter = sqliteAdapter({ database })db.query.X.findMany({ with }) round-trips nested rows as parsed JS objects: SQLite's JSON aggregation returns TEXT, but createDbClient transparently parses it on the way back so adopters never see the encoded form.
Notes
- Drift detection (
introspect()) is not yet implemented in v1 — it throwsKickDbErrorwith codeKICK_DB_INTROSPECT_NOT_SUPPORTED. SetdriftCheck: 'off'on the migration runner until a follow-up adds thesqlite_master+pragmawalk.
License
MIT © Felix Orinda
