server: Fix init database not working due to share db

pull/243/head
Elian Doran 2024-07-22 21:17:27 +07:00
parent 10239d1a0b
commit c20c8d1176
1 changed files with 13 additions and 8 deletions

@ -2,10 +2,14 @@
import Database from "better-sqlite3"; import Database from "better-sqlite3";
import dataDir from "../services/data_dir.js"; import dataDir from "../services/data_dir.js";
import sql_init from "../services/sql_init.js";
const dbConnection = new Database(dataDir.DOCUMENT_PATH, { readonly: true }); let dbConnection!: Database.Database;
[`exit`, `SIGINT`, `SIGUSR1`, `SIGUSR2`, `SIGTERM`].forEach(eventType => { sql_init.dbReady.then(() => {
dbConnection = new Database(dataDir.DOCUMENT_PATH, { readonly: true });
[`exit`, `SIGINT`, `SIGUSR1`, `SIGUSR2`, `SIGTERM`].forEach(eventType => {
process.on(eventType, () => { process.on(eventType, () => {
if (dbConnection) { if (dbConnection) {
// closing connection is especially important to fold -wal file into the main DB file // closing connection is especially important to fold -wal file into the main DB file
@ -13,6 +17,7 @@ const dbConnection = new Database(dataDir.DOCUMENT_PATH, { readonly: true });
dbConnection.close(); dbConnection.close();
} }
}); });
});
}); });
function getRawRows<T>(query: string, params = []): T[] { function getRawRows<T>(query: string, params = []): T[] {