diff --git a/apps/api/app/api/routes/health.py b/apps/api/app/api/routes/health.py index b75a6ed46..97b722529 100644 --- a/apps/api/app/api/routes/health.py +++ b/apps/api/app/api/routes/health.py @@ -218,3 +218,19 @@ def debug_alembic_heads(): except Exception as e: import traceback return {"error": str(e), "trace": traceback.format_exc()[-1000:]} + + +@router.get("/debug/alembic-upgrade") +def debug_alembic_upgrade(): + """Actually run alembic upgrade head from API process (debug only).""" + import subprocess, os + try: + proc = subprocess.run( + ["alembic", "upgrade", "head"], + cwd="/app", capture_output=True, text=True, timeout=60, + env={**os.environ, "PYTHONPATH": "/app:/app/apps/api"} + ) + return {"rc": proc.returncode, "out": proc.stdout[-3000:], "err": proc.stderr[-3000:]} + except Exception as e: + import traceback + return {"error": str(e), "trace": traceback.format_exc()[-1500:]}