Change8

data-table-sqlite@0.6.0

Breaking Changes
📦 remixView on GitHub →
3 breaking6 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

  1. Replace usage of `SqliteDatabaseAdapter` and `createSqliteDatabaseAdapter()` with `SqliteDatabase` and `createSqliteDatabase()` respectively.
  2. Update references from `SqliteDatabaseAdapterConfig` to `SqliteDatabaseConfig`.
  3. Update references from the old `SqliteDatabase` client interface to `SqliteDatabaseClient`.
  4. 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.

Affected Symbols