From 5e0001b8c8c49faa9b30b7e34eb62492f8598526 Mon Sep 17 00:00:00 2001 From: dvirlabs Date: Fri, 3 Apr 2026 11:26:26 +0300 Subject: [PATCH] Fix DB migration --- backend/main.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/backend/main.py b/backend/main.py index 71c7281..410b2e7 100644 --- a/backend/main.py +++ b/backend/main.py @@ -37,6 +37,25 @@ load_dotenv() # Create database tables models.Base.metadata.create_all(bind=engine) +# ── Auto-migrate: add new columns if they don't exist yet ──────────────────── +def _run_startup_migrations(): + """Idempotent column additions — safe to run on every deploy.""" + statements = [ + "ALTER TABLE events ADD COLUMN IF NOT EXISTS invitation_image_url TEXT;", + "ALTER TABLE events ADD COLUMN IF NOT EXISTS guest_form_fields TEXT;", + "ALTER TABLE guests_v2 ADD COLUMN IF NOT EXISTS companion_count INTEGER DEFAULT 0;", + ] + from sqlalchemy import text + with engine.connect() as conn: + for stmt in statements: + try: + conn.execute(text(stmt)) + except Exception as e: + print(f"[startup migration] warning: {e}") + conn.commit() + +_run_startup_migrations() + app = FastAPI(title="Multi-Event Invitation Management API") # Ensure uploads directory exists and serve it as static files