prepare fastapi root layout for server deployment
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
from sqlalchemy import text
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
|
||||
|
||||
from app.db.session import SessionLocal
|
||||
from scripts.init_demo_db import init_database
|
||||
|
||||
|
||||
def main() -> None:
|
||||
"""新表迁移:创建并补齐 case_base、traditional_case、teaching_case、case_exam_item、training_* 和 training_record。"""
|
||||
init_database()
|
||||
with SessionLocal() as db:
|
||||
_apply_table_comments(db)
|
||||
db.commit()
|
||||
print("new schema migration completed")
|
||||
|
||||
|
||||
def _apply_table_comments(db) -> None:
|
||||
"""表注释补齐:为当前业务表写入中文说明,便于数据库工具查看。"""
|
||||
comments = {
|
||||
"case_base": "病例主表",
|
||||
"traditional_case": "传统病例扩展表",
|
||||
"teaching_case": "教学互动病例扩展表",
|
||||
"scoring_rule": "评分规则表",
|
||||
"case_exam_item": "病例检查检验项目表",
|
||||
"training_session": "训练会话表",
|
||||
"training_order": "训练检查申请表",
|
||||
"training_submission": "训练诊断治疗提交表",
|
||||
"training_record": "训练记录表",
|
||||
"training_score_detail": "评分明细表",
|
||||
"department": "科室表",
|
||||
"user": "用户表",
|
||||
}
|
||||
dialect = db.bind.dialect.name if db.bind else ""
|
||||
if dialect != "mysql":
|
||||
return
|
||||
for table_name, comment in comments.items():
|
||||
safe_comment = comment.replace("'", "''")
|
||||
db.execute(text(f"ALTER TABLE `{table_name}` COMMENT='{safe_comment}'"))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user