UNPKG

@paroicms/server

Version:
42 lines 1.57 kB
import { createOrOpenSqliteConnection, createSqlLogger, getMetadataDbSchemaVersion, } from "@paroicms/internal-server-lib"; import { join } from "node:path"; import { packageDir } from "../../context.js"; import { mainDbSchemaName, mainDbSchemaVersion } from "./db-constants.js"; import { migrateMainDb } from "./ddl-migration.js"; export async function createOrOpenMainConnection(dataDir, { logger, canCreate }, migrationValues) { const { logNextQuery, knexLogger } = createSqlLogger({ logger, dbSchemaName: mainDbSchemaName, }); const { cn, newDatabase, databaseId } = await createOrOpenSqliteConnection({ canCreate, dbSchemaName: mainDbSchemaName, sqliteFile: join(dataDir, "main.sqlite"), ddlFile: join(packageDir, "ddl", "main.ddl.sql"), migrateDb, knexLogger, logger, }); async function migrateDb(cn) { const dbVersion = await getMetadataDbSchemaVersion(cn, { dbSchemaName: mainDbSchemaName, }); if (dbVersion === mainDbSchemaVersion) { return { migrated: false, schemaVersion: dbVersion, }; } await migrateMainDb(cn, { fromVersion: dbVersion, logger, }, migrationValues); return { migrated: true, fromVersion: dbVersion, schemaVersion: mainDbSchemaVersion, }; } return { cn, logNextQuery, isNewDatabase: !!newDatabase, databaseId }; } //# sourceMappingURL=db-init.js.map