fix(moodboard): apply visuals schema on startup
This commit is contained in:
@@ -154,6 +154,8 @@ async def lifespan(app: FastAPI):
|
||||
ensure_tna_authoring_schema(engine)
|
||||
from services.moodboard_pdf_service import ensure_moodboard_timings_schema
|
||||
ensure_moodboard_timings_schema(engine)
|
||||
from migrate_moodboard_visuals import ensure_visuals_schema
|
||||
ensure_visuals_schema(engine)
|
||||
logger.info("Database tables ready")
|
||||
|
||||
# Seed dummy users if none exist
|
||||
|
||||
@@ -19,6 +19,19 @@ NEW_COLUMNS = {
|
||||
}
|
||||
|
||||
|
||||
def ensure_visuals_schema(engine):
|
||||
"""Idempotently add visuals columns during application startup."""
|
||||
inspector = inspect(engine)
|
||||
try:
|
||||
existing_cols = {c["name"] for c in inspector.get_columns("moodboard_decodes")}
|
||||
except Exception:
|
||||
return
|
||||
with engine.begin() as conn:
|
||||
for col, ddl in NEW_COLUMNS.items():
|
||||
if col not in existing_cols:
|
||||
conn.execute(text(f"ALTER TABLE moodboard_decodes ADD COLUMN {col} {ddl}"))
|
||||
|
||||
|
||||
def migrate():
|
||||
print(f"Connecting to database at: {settings.database_url}")
|
||||
engine = create_engine(settings.database_url)
|
||||
|
||||
Reference in New Issue
Block a user