diff --git a/deploy/migrations/m0018_sd_projects_type_default_general.json b/deploy/migrations/m0018_sd_projects_type_default_general.json new file mode 100644 index 0000000..c7227e8 --- /dev/null +++ b/deploy/migrations/m0018_sd_projects_type_default_general.json @@ -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 '项目类型'" + } + ] +}