This commit is contained in:
seb
2026-09-22 07:25:11 +02:00
parent 15664223ee
commit a46e9742f4
9 changed files with 60 additions and 677 deletions

View File

@@ -1,10 +1,10 @@
import chalk from 'chalk';
import sql from 'mssql';
import LibDashStore from 'libdashstore';
import { MssqlProvider } from 'libdashstore/providers/mssql';
import { BetterSqlite3Provider } from 'libdashstore/providers/better-sqlite3';
import env from '../config/env.js';
let pool;
let provider;
let store;
let connecting;
@@ -31,6 +31,7 @@ const STORE_NAMESPACES = [
'numbers',
'companysetting',
'articlesupplier',
'manifestattachment',
];
/**
@@ -119,10 +120,13 @@ export async function getStore() {
if (!connecting) {
connecting = (async () => {
pool = await new sql.ConnectionPool(getMssqlConfig()).connect();
store = wrapStoreWithTiming(
await new LibDashStore(new MssqlProvider(pool))
);
if (env.dbProvider === 'sqlite' || env.dbProvider === 'better-sqlite3') {
provider = new BetterSqlite3Provider(env.sqlite);
} else {
provider = new MssqlProvider(getMssqlConfig());
}
await provider.initialize();
store = wrapStoreWithTiming(await new LibDashStore(provider));
return store;
})().finally(() => {
connecting = undefined;
@@ -137,9 +141,9 @@ export async function ensureConnection() {
}
export async function closeStore() {
if (pool) {
await pool.close();
pool = undefined;
if (provider) {
await provider.close();
provider = undefined;
store = undefined;
}
}