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)
|
ensure_tna_authoring_schema(engine)
|
||||||
from services.moodboard_pdf_service import ensure_moodboard_timings_schema
|
from services.moodboard_pdf_service import ensure_moodboard_timings_schema
|
||||||
ensure_moodboard_timings_schema(engine)
|
ensure_moodboard_timings_schema(engine)
|
||||||
|
from migrate_moodboard_visuals import ensure_visuals_schema
|
||||||
|
ensure_visuals_schema(engine)
|
||||||
logger.info("Database tables ready")
|
logger.info("Database tables ready")
|
||||||
|
|
||||||
# Seed dummy users if none exist
|
# 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():
|
def migrate():
|
||||||
print(f"Connecting to database at: {settings.database_url}")
|
print(f"Connecting to database at: {settings.database_url}")
|
||||||
engine = create_engine(settings.database_url)
|
engine = create_engine(settings.database_url)
|
||||||
|
|||||||
Reference in New Issue
Block a user