{ "id": "m0027", "title": "孤儿表清零治理二期(破坏性,NEEDS_APPROVAL,须 dmig apply-approved): DROP 6张死表(全先dbackup备份) + 清理4组死页面注册权限(permission+rolepermission实测4+8行) —— 2026-09-10批评会决议,用户已认可", "destructive": true, "backup_tables": [ "bid_mail_accounts", "org_roles", "sd_agent_settings", "llm", "sd_conversations", "pipeline_versions" ], "up": [ { "op": "sql", "sql": "DROP TABLE IF EXISTS bid_mail_accounts", "desc": "0行,DESIGN.md明载邮箱采集功能已删除" }, { "op": "sql", "sql": "DROP TABLE IF EXISTS org_roles", "desc": "0行,sage脚手架残留,本平台零引用" }, { "op": "sql", "sql": "DROP TABLE IF EXISTS sd_agent_settings", "desc": "0行,pipeline_agent_settings前身" }, { "op": "sql", "sql": "DROP TABLE IF EXISTS llm", "desc": "8行旧表:7行已迁llm_model,第8行embedding已被-flash改名版替代(实测确认无损失),唯一代码引用是迁移脚本自己" }, { "op": "sql", "sql": "DROP TABLE IF EXISTS sd_conversations", "desc": "32行死表,08-01后零写,回放已走pipeline_conversations;project_capability引用已随本批代码清理" }, { "op": "sql", "sql": "DROP TABLE IF EXISTS pipeline_versions", "desc": "0行,页面08-28已删(core load_path.py注释为证)" }, { "op": "sql", "sql": "DELETE FROM rolepermission WHERE permid IN (SELECT id FROM permission WHERE path IN ('/pipeline_core/pipelines/*','/pipeline_core/pipeline_steps/*','/pipeline_core/pipeline_versions/*','/pipeline_core/pipeline_editor/*'))", "desc": "先删关联(实测8行:logined全局角色+downapp机构角色),防permission成孤儿引用" }, { "op": "sql", "sql": "DELETE FROM permission WHERE path IN ('/pipeline_core/pipelines/*','/pipeline_core/pipeline_steps/*','/pipeline_core/pipeline_versions/*','/pipeline_core/pipeline_editor/*')", "desc": "4组死页面注册权限(实测4行,含'产线定义API'名行);页面与API端点08-28已全删,前端零调用(全wwwroot grep为空)" } ], "down": [ { "op": "note", "desc": "表回退=逐表 dbackup restore backups/<库>_<表>_<时间戳>.sql;权限回退=跑 scripts/load_path.py 对应段(已同步删除,需从git历史恢复注册行后重跑)" } ] }