UNPKG

@paroicms/server-image-cache-engine

Version:

The image variant engine that we use at Paroi.

45 lines 1.68 kB
import { createOrOpenSqliteConnection, createSqlLogger, getMetadataDbSchemaVersion, } from "@paroicms/internal-server-lib"; import { join } from "node:path"; import { packageDir } from "../constants.js"; import { currentDbSchemaVersion, dbSchemaName, migrateImageCacheDb } from "./ddl-migration.js"; export async function createOrOpenImageCacheConnection({ sqliteFile, logger, dependsOn, inMemory, }) { const { logNextQuery, knexLogger } = createSqlLogger({ logger, dbSchemaName }); const { cn, newDatabase, migrationReport, databaseId } = await createOrOpenSqliteConnection({ canCreate: true, dbSchemaName, sqliteFile, ddlFile: join(packageDir, "ddl", "image-cache.ddl.sql"), migrateDb, logger, knexLogger, ensureDependsOn: dependsOn ? { dependsOn, onMismatch: "reset", } : undefined, inMemory, }); async function migrateDb(cn) { const dbVersion = await getMetadataDbSchemaVersion(cn, { dbSchemaName }); if (dbVersion === currentDbSchemaVersion) { return { migrated: false, schemaVersion: dbVersion, }; } await migrateImageCacheDb(cn, { fromVersion: dbVersion, logger, dependsOn, }); return { migrated: true, fromVersion: dbVersion, schemaVersion: currentDbSchemaVersion, }; } const isFresh = !!newDatabase || migrationReport.migrated; return { cn, logNextQuery, isFresh, databaseId }; } //# sourceMappingURL=db-init.js.map