20 lines
564 B
JavaScript
20 lines
564 B
JavaScript
/**
|
|
* @file Öffnet die SQLite-Datenbank und initialisiert Tabellen sowie Migrationen.
|
|
*/
|
|
import fs from "fs";
|
|
import Database from "better-sqlite3";
|
|
import {initializeSchema, runMigrations} from "./schema.js";
|
|
import {initializeAttachments} from "./attachments.js";
|
|
|
|
export function createDatabase(config) {
|
|
if (config.dbPath !== ":memory:") {
|
|
fs.mkdirSync(config.dataDir, {recursive: true});
|
|
}
|
|
|
|
const db = new Database(config.dbPath);
|
|
initializeSchema(db);
|
|
initializeAttachments(db);
|
|
runMigrations(db, config);
|
|
return db;
|
|
}
|