diff --git a/dist/lib/sqlite/index.js b/dist/lib/sqlite/index.js index 4287770..8f48803 100644 --- a/dist/lib/sqlite/index.js +++ b/dist/lib/sqlite/index.js @@ -14,4 +14,7 @@ const DbClient = new Database(db_file_path, { create: true, }); sqliteVec.load(DbClient); +if (config.wal_mode) { + DbClient.run("PRAGMA journal_mode = WAL;"); +} export default DbClient; diff --git a/dist/types/index.d.ts b/dist/types/index.d.ts index 38c2a5c..33bf1e8 100644 --- a/dist/types/index.d.ts +++ b/dist/types/index.d.ts @@ -1370,6 +1370,10 @@ export type BunSQLiteConfig = { * definition export. Example `db_types.ts` or `types/db_types.ts` */ typedef_file_path?: string; + /** + * Whether to enable `WAL` mode + */ + wal_mode?: boolean; }; /** * Resolved Bun SQLite config paired with the loaded database schema. diff --git a/package.json b/package.json index 29029a3..f5358cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/bun-sqlite", - "version": "1.1.9", + "version": "1.1.11", "description": "SQLite manager for Bun", "author": "Benjamin Toby", "main": "dist/index.js", diff --git a/src/lib/sqlite/index.ts b/src/lib/sqlite/index.ts index 335e64b..7500549 100644 --- a/src/lib/sqlite/index.ts +++ b/src/lib/sqlite/index.ts @@ -21,4 +21,8 @@ const DbClient = new Database(db_file_path, { sqliteVec.load(DbClient); +if (config.wal_mode) { + DbClient.run("PRAGMA journal_mode = WAL;"); +} + export default DbClient; diff --git a/src/types/index.ts b/src/types/index.ts index 6db34f8..c4f18c2 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1554,6 +1554,10 @@ export type BunSQLiteConfig = { * definition export. Example `db_types.ts` or `types/db_types.ts` */ typedef_file_path?: string; + /** + * Whether to enable `WAL` mode + */ + wal_mode?: boolean; }; /**