UNPKG

@paroicms/server

Version:
48 lines 2.07 kB
import { readFile } from "node:fs/promises"; import { join } from "node:path"; import { appConf, registeredSites } from "../context.js"; import { migrateFrom6To7 } from "./migrations/site-schema-migration-6-to-7.js"; import { migrateFrom7To8 } from "./migrations/site-schema-migration-7-to-8.js"; import { migrateFrom8To9 } from "./migrations/site-schema-migration-8-to-9.js"; import { migrateFrom9To10 } from "./migrations/site-schema-migration-9-to-10.js"; export async function migrateSiteSchema(siteContext) { await migrateDirectory(siteContext.siteDir); } export async function migrateSiteSchemas() { let directories; if (appConf.kind === "multisite") { directories = Array.from(registeredSites.values()).map((site) => site.siteDir); } else { directories = [process.cwd()]; } for (const directory of directories) { await migrateDirectory(directory); } } async function migrateDirectory(directory) { const targetVersion = "10"; console.info(`Migrating site-schema in directory "${directory}"`); let siteSchema = JSON.parse(await readFile(join(directory, "site-schema.json"), "utf-8")); if (siteSchema.ParoiCMSSiteSchemaFormatVersion === targetVersion) { console.info(`… already at version ${targetVersion}`); return; } if (siteSchema.version === "6") { siteSchema = await migrateFrom6To7(directory, siteSchema); console.info("… migrated from version 6 to 7"); } if (siteSchema.version === "7") { siteSchema = await migrateFrom7To8(directory, siteSchema); console.info("… migrated from version 7 to 8"); } if (siteSchema.version === "8") { siteSchema = await migrateFrom8To9(directory, siteSchema); console.info("… migrated from version 8 to 9"); } if (siteSchema.ParoiCMSSiteSchemaFormatVersion === "9") { siteSchema = await migrateFrom9To10(directory, siteSchema); console.info("… migrated from version 9 to 10"); } } //# sourceMappingURL=site-schema-migration.js.map