46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
"""健康检查路由"""
|
|
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.orm import Session
|
|
from sqlalchemy import text
|
|
|
|
from ..config import get_settings
|
|
from ..database import get_db
|
|
|
|
router = APIRouter(tags=["health"])
|
|
settings = get_settings()
|
|
|
|
|
|
@router.get("/health")
|
|
async def health_check():
|
|
"""健康检查"""
|
|
return {
|
|
"status": "ok",
|
|
"app": settings.APP_NAME,
|
|
"version": settings.APP_VERSION
|
|
}
|
|
|
|
|
|
@router.post("/migrate/add-corp-id")
|
|
async def migrate_add_corp_id(db: Session = Depends(get_db)):
|
|
"""迁移:添加租户 corp_id 字段"""
|
|
try:
|
|
# 检查列是否存在
|
|
result = db.execute(text(
|
|
"SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS "
|
|
"WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'platform_tenants' AND COLUMN_NAME = 'corp_id'"
|
|
))
|
|
exists = result.scalar()
|
|
|
|
if exists:
|
|
return {"success": True, "message": "字段 corp_id 已存在,无需迁移"}
|
|
|
|
# 添加列
|
|
db.execute(text(
|
|
"ALTER TABLE platform_tenants ADD COLUMN corp_id VARCHAR(100) AFTER name"
|
|
))
|
|
db.commit()
|
|
|
|
return {"success": True, "message": "字段 corp_id 添加成功"}
|
|
except Exception as e:
|
|
return {"success": False, "error": str(e)}
|