From abe92e58a0c845e0ae83198552ff15dd18e0cf61 Mon Sep 17 00:00:00 2001 From: Leopoldadmin Date: Mon, 22 Jun 2026 05:37:39 +0000 Subject: [PATCH] feat(database): add index.ts with factory function --- backend/src/database/index.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 backend/src/database/index.ts diff --git a/backend/src/database/index.ts b/backend/src/database/index.ts new file mode 100644 index 0000000..201b4f6 --- /dev/null +++ b/backend/src/database/index.ts @@ -0,0 +1,26 @@ +import { SqliteAdapter } from './SqliteAdapter'; +import { migrationManager } from './migrations'; + +export async function createDatabase(dbPath: string): Promise { + const db = new SqliteAdapter(dbPath); + + // Apply migrations + const currentVersion = await db.getMigrationVersion(); + const targetVersion = migrationManager.getLatestVersion(); + + if (currentVersion < targetVersion) { + // Apply all migrations from currentVersion + 1 to targetVersion + for (let version = currentVersion + 1; version <= targetVersion; version++) { + const migration = migrationManager.getMigrationByVersion(version); + if (migration) { + await db.runMigration(migration.up); + await db.setMigrationVersion(version); + } + } + } + + return db; +} + +export * from './DatabaseInterface'; +export * from './SqliteAdapter'; \ No newline at end of file