diff --git a/server/plugins/migrate.ts b/server/plugins/migrate.ts index a0124cb..885fe33 100644 --- a/server/plugins/migrate.ts +++ b/server/plugins/migrate.ts @@ -1,9 +1,19 @@ import { migrate } from "drizzle-orm/better-sqlite3/migrator"; import { db } from "../db/index"; import { resolve } from "path"; +import { existsSync } from "fs"; -export default defineNitroPlugin(async () => { - const migrationsFolder = process.env.MIGRATIONS_PATH || resolve(process.cwd(), "drizzle"); +// run synchronously at module load — before any request handler fires +const migrationsFolder = process.env.MIGRATIONS_PATH || resolve(process.cwd(), "drizzle"); + +console.log(`[revisione] running migrations from: ${migrationsFolder} (exists: ${existsSync(migrationsFolder)})`); + +try { migrate(db, { migrationsFolder }); console.log("[revisione] db migrations applied"); -}); +} catch (err: any) { + console.error("[revisione] MIGRATION FAILED:", err?.message ?? err); + process.exit(1); +} + +export default defineNitroPlugin(() => {});