Files
general-purpose-bot/core/db.js
2026-02-03 12:26:06 +01:00

33 lines
903 B
JavaScript

const fs = require("fs");
const Database = require("better-sqlite3");
const path = require("path");
const { Umzug, JSONStorage } = require('umzug');
const filepath = "./data/minzbot.db";
async function createDbConnection() {
const dir = path.dirname(filepath);
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, { recursive: true });
}
const db = new Database(filepath, { verbose: console.log });
await runMigrations(db);
console.log("[DATABASE] Connection with better-sqlite3 established");
return db;
}
async function runMigrations(db) {
const umzug = new Umzug({
migrations: { glob: 'migrations/*.js' },
context: db,
storage: new JSONStorage({ path: './data/migrations.json' }),
logger: console,
});
await umzug.up();
console.log('[DATABASE] Migrations applied successfully');
}
module.exports = createDbConnection;