日期:2026-06-10 | Branch:
feature/ssp-table-rename(BE + jedi-oscal monorepo 同名) 狀態:DEV 完成並驗證;STG/POC/PROD 待套用;兩 repo 待 push
把冗長的 system_security_plans* 三張 OSCAL 表改名為 ssp(s)_*(表名 only、欄位不動),跨 BE + jedi-oscal 套件 + DB,用 in-place ALTER RENAME,DEV 零丟失零回歸。
| Repo | Commit | 內容 |
|---|---|---|
| jedi-oscal monorepo | 278bfbb |
ORM 改名(8 檔:tablename + index + FK 字串) |
| jedi-oscal monorepo | bb192e9 |
bump 0.0.21 → 0.0.22 |
| BE | 3ca0ad9d |
BE FK 字串 + 6 條 raw SQL + 測試斷言 + 可攜 migration |
| BE | dddc6335 |
FR-035 feature 文件(design + plan + 登記表) |
| BE | 7b44e8d2 |
pin jedi-oscal 0.0.22 |
| BE | (收尾本批) | changelog + 文件清理 + 本 SUMMARY |
jedi-oscal 0.0.22 已推 Nexus(pypi-hosted)。
system_security_plans→ssps、system_security_plan_control_implementations→ssp_control_implementations、system_security_plans_system_characteristics→ssp_system_characteristics。system_security_plan_id / ssp_id 等保留)。scripts/sql/2026-06-10-ssp-table-rename.sql:3 表 + 3 sequence + 3 pkey + 3 uid_key + 6 index + 5 條舊名 FK constraint,全 ALTER RENAME。NoReferencedTableError。GET /ssp/<uid>/control-implementations 回真實控制項,log 零 SQL 錯誤。docs/changelog/2026-06-10-tweak-ssp-table-rename.mddocs/claude/database-schema.md + 2 doc-gen 腳本 + 5 BE prose 註解已清2026-06-10-ssp-table-rename.sql → 部署 BE pin 0.0.22)。⚠️ 順序不可顛倒:舊 BE 對改名表會炸。docs/system-design/database/erd/tbls/oscal.system_security_plans*.md(生成物)。docs/system-design/scripts/generate_db_schema_docx.py:34 hardcoded DB 密碼,待 user 決定改讀 env。template_module_frame_id raw-UPDATE 斷言 vs ORM 寫入不符 + integration 3 個)與本次無關,留既有 follow-up。