diff --git a/apps/api/app/api/routes/health.py b/apps/api/app/api/routes/health.py index 950d765d6..b75a6ed46 100644 --- a/apps/api/app/api/routes/health.py +++ b/apps/api/app/api/routes/health.py @@ -198,3 +198,23 @@ def debug_ls_alembic(): out[d] = str(e) out["cwd"] = os.getcwd() return out + + +@router.get("/debug/alembic-heads") +def debug_alembic_heads(): + import subprocess + try: + def run(args): + proc = subprocess.run( + args, cwd="/app", capture_output=True, text=True, timeout=20, + env={**__import__("os").environ, "PYTHONPATH": "/app:/app/apps/api"} + ) + return {"rc": proc.returncode, "out": proc.stdout[-1500:], "err": proc.stderr[-1500:]} + return { + "current": run(["alembic", "current"]), + "heads": run(["alembic", "heads"]), + "upgrade_sql": run(["alembic", "upgrade", "head", "--sql"]), + } + except Exception as e: + import traceback + return {"error": str(e), "trace": traceback.format_exc()[-1000:]}