feat(deploy): m0018 sd_projects.project_type默认值web_app→general+存量非sdlc项目归正——列同步器只ADD COLUMN不改存量列default,models改default对测试机/生产已建表不生效,必须迁移;影响面实测仅2行商机项目

This commit is contained in:
yumoqing 2026-09-09 19:15:57 +08:00
parent c7c66086a0
commit 0142567813

View File

@ -0,0 +1,21 @@
{
"id": "m0018",
"title": "sd_projects.project_type 默认值去 SDLC 语义(web_app→general)sd_projects 是全产线共用的项目容器表(bidding/opportunity/sdlc 都在建项目),列默认值 web_app 导致非开发产线项目被标成 Web应用(实测 opportunity_general 2个项目 project_type=web_app 语义错);同步把存量非 sdlc 项目的 web_app 归正为 general。models JSON 已同步改 default='general' 并补 directory_name/default_model 两列定义(此前只存在于 m0001 手工迁移models 从未定义→新机部署建出的表缺列→workspace.py 裸查 directory_name 必崩 Unknown column)",
"backup_tables": ["sd_projects"],
"up": [
{
"op": "sql",
"sql": "ALTER TABLE sd_projects MODIFY COLUMN project_type VARCHAR(50) NOT NULL DEFAULT 'general' COMMENT '项目类型(general通用/bidding投标/web_app等SDLC类型)'"
},
{
"op": "sql",
"sql": "UPDATE sd_projects SET project_type='general' WHERE project_type='web_app' AND (pipeline_id IS NULL OR pipeline_id NOT LIKE 'sdlc%')"
}
],
"down": [
{
"op": "sql",
"sql": "ALTER TABLE sd_projects MODIFY COLUMN project_type VARCHAR(50) NOT NULL DEFAULT 'web_app' COMMENT '项目类型'"
}
]
}