From 258c90a52c982e6b15d1df7c998eac87e24807f0 Mon Sep 17 00:00:00 2001 From: Daniel Volz Date: Sat, 20 Dec 2025 21:10:33 +0100 Subject: [PATCH] feat: implement auto-run migrations for medications table to handle image_url column --- backend/src/db/client.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/backend/src/db/client.ts b/backend/src/db/client.ts index c5a6190..a97e0f7 100644 --- a/backend/src/db/client.ts +++ b/backend/src/db/client.ts @@ -8,3 +8,25 @@ const url = process.env.DATABASE_URL || "file:./data/medassist.db"; const client = createClient({ url }); export const db = drizzle(client); + +// Auto-run migrations on import (self-healing database) +async function runMigrations() { + const migrations = [ + { name: "image_url", sql: "ALTER TABLE medications ADD COLUMN image_url TEXT" }, + ]; + + for (const migration of migrations) { + try { + await client.execute(migration.sql); + console.log(`[DB] Migration applied: ${migration.name}`); + } catch (e: any) { + // Ignore "duplicate column" errors - column already exists + if (!e.message?.includes("duplicate column")) { + console.error(`[DB] Migration error (${migration.name}):`, e.message); + } + } + } +} + +// Run migrations immediately +runMigrations().catch(console.error);