Files
zkxw/backend/scripts/seed_sop_cc_001_content.py
T
2026-08-25 16:47:43 +08:00

52 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""将 docs/sop-templates/SOP-CC-001-E01-01.html 写入工艺 SOP-CC-001-E01-01 的 sop_content。
生产环境请执行 docs/sql/2026-08-25-seed-sop-cc-001-content.sql,勿依赖本脚本。
"""
from __future__ import annotations
import sys
from datetime import datetime
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT / "backend"))
from sqlalchemy import create_engine, text # noqa: E402
from app.core.config import settings # noqa: E402
PROCESS_CODE = "SOP-CC-001-E01-01"
HTML_PATH = ROOT / "docs" / "sop-templates" / "SOP-CC-001-E01-01.html"
def main() -> None:
html = HTML_PATH.read_text(encoding="utf-8")
engine = create_engine(settings.DATABASE_URL)
with engine.begin() as conn:
result = conn.execute(
text(
"""
UPDATE biz_process
SET sop_content = :html,
update_time = :now
WHERE process_code = :code
AND del_flag = 0
"""
),
{"html": html, "now": datetime.now(), "code": PROCESS_CODE},
)
if result.rowcount < 1:
raise SystemExit(f"未找到工艺 process_code={PROCESS_CODE}")
row = conn.execute(
text(
"SELECT id, process_name, LENGTH(sop_content) AS n "
"FROM biz_process WHERE process_code=:code AND del_flag=0"
),
{"code": PROCESS_CODE},
).fetchone()
print(f"已更新 {PROCESS_CODE}({row[1]}),sop_content 长度 {row[2]}")
if __name__ == "__main__":
main()