data-table-sqlite@0.6.0
Breaking Changes📦 remixView on GitHub →
⚠ 3 breaking✨ 6 features🐛 1 fixes🔧 10 symbols
Summary
Introduced `SqliteDatabase.close()` and `createSqliteDatabase()` for improved SQLite database management, including optional wiping and persistent foreign key enforcement. This release also includes breaking changes to adapter and config types.
⚠️ Breaking Changes
- Removed `SqliteDatabaseAdapter` and `createSqliteDatabaseAdapter()` from the public entry point. Use `SqliteDatabase` and `createSqliteDatabase()` instead.
- Renamed `SqliteDatabaseAdapterConfig` to `SqliteDatabaseConfig`.
- Renamed the former `SqliteDatabase` client interface to `SqliteDatabaseClient`.
Migration Steps
- Replace usage of `SqliteDatabaseAdapter` and `createSqliteDatabaseAdapter()` with `SqliteDatabase` and `createSqliteDatabase()` respectively.
- Update references from `SqliteDatabaseAdapterConfig` to `SqliteDatabaseConfig`.
- Update references from the old `SqliteDatabase` client interface to `SqliteDatabaseClient`.
- Call `await db.close()` on config-backed databases to release file handles.
✨ New Features
- Added `SqliteDatabase.close()` to release connection and file handle for config-backed databases.
- Added `createSqliteDatabase()` for filename-based SQLite database construction with options for persistent foreign key enforcement and database wiping.
- Config-backed databases now have an authoritative `foreignKeys` option, defaulting to off.
- Config-backed databases apply a default `busy_timeout` of 5000ms.
- The `wipe()` function for config-backed databases now removes `-wal`/`-shm`/`-journal` sidecar files.
- Runtime SQLite driver loads lazily on config-backed construction, improving compatibility with environments that cannot resolve `node:sqlite` or `bun:sqlite` at import time.
🐛 Bug Fixes
- Used bound parameters for compiled `limit` and `offset` clauses.