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;