@remix-run/data-table-sqlite
v0.1.0
Published
SQLite adapter for @remix-run/data-table
Readme
data-table-sqlite
SQLite adapter for remix/data-table.
Use this package when you want data-table APIs backed by better-sqlite3.
Features
- Native
better-sqlite3Integration: Works well for local and embedded deployments - Full
data-tableAPI Support: Queries, relations, writes, and transactions - SQLite Capabilities Enabled By Default:
returning: truesavepoints: trueupsert: true
Installation
npm i remix better-sqlite3Usage
import Database from 'better-sqlite3'
import { createDatabase } from 'remix/data-table'
import { createSqliteDatabaseAdapter } from 'remix/data-table-sqlite'
let sqlite = new Database('app.db')
let db = createDatabase(createSqliteDatabaseAdapter(sqlite))This is a good fit for local development, embedded deployments, and single-node services.
Adapter Capabilities
data-table-sqlite reports this capability set by default:
returning: truesavepoints: trueupsert: true
Advanced Usage
In-Memory Database For Tests
import Database from 'better-sqlite3'
import { createDatabase } from 'remix/data-table'
import { createSqliteDatabaseAdapter } from 'remix/data-table-sqlite'
let sqlite = new Database(':memory:')
let db = createDatabase(createSqliteDatabaseAdapter(sqlite))Capability Overrides For Fallback Testing
import { createSqliteDatabaseAdapter } from 'remix/data-table-sqlite'
let adapter = createSqliteDatabaseAdapter(sqlite, {
capabilities: {
returning: false,
},
})Related Packages
data-table- Core query/relations APIdata-schema- Schema definitions and validationdata-table-postgres- PostgreSQL adapterdata-table-mysql- MySQL adapter
License
See LICENSE
