- models: 3张表JSON迁入(sd_projects全产线项目容器/pipeline_deliverables被bidding+service+core写681行实证/sd_project_role_models被pipeline-service三处消费)——分层倒置修复:core的agent_config.py裸查sd_projects/pipeline_deliverables,低层查高层表
- json: sd_project_list.json/pipeline_deliverables_list.json迁入,subtables迭代/仓库页改绝对路径/pipeline-sdlc/**(跨模块相对路径会解析到core不存在的目录)
- api: 15个CRUD页面依赖的dspy迁入(get_project_options等,entire_url('../api/')相对解析跟页面走);get_module_dbname('pipeline_sdlc')→pipeline_core(app层一律返pipeline,行为不变仅语义归位)
- init/data.json: 4组字典随表迁(sd_project_status/sd_project_type/deliverable_type/review_status)——normalize幂等键{parentid}_{k}不变,import_init重跑无副作用
- .gitignore: 补wwwroot/sd_projects/+wwwroot/pipeline_deliverables/(xls2ui生成目录,build.sh第7步清单已含pipeline_core,重生成不脏工作树)
37 lines
2.2 KiB
JSON
37 lines
2.2 KiB
JSON
{
|
|
"summary": [
|
|
{
|
|
"name": "pipeline_deliverables",
|
|
"title": "任务交付件",
|
|
"primary": ["id"],
|
|
"catelog": "entity"
|
|
}
|
|
],
|
|
"fields": [
|
|
{"name": "id", "title": "主键ID", "type": "str", "length": 32, "nullable": "no"},
|
|
{"name": "project_id", "title": "项目ID", "type": "str", "length": 32, "nullable": "no"},
|
|
{"name": "task_id", "title": "任务ID", "type": "str", "length": 32},
|
|
{"name": "title", "title": "交付件标题", "type": "str", "length": 200, "nullable": "no"},
|
|
{"name": "deliverable_type", "title": "交付件类型", "type": "str", "length": 32, "nullable": "no", "default": "'code'"},
|
|
{"name": "repo_name", "title": "目标仓库别名", "type": "str", "length": 100},
|
|
{"name": "target_path", "title": "仓库内相对路径", "type": "str", "length": 500},
|
|
{"name": "file_path", "title": "本地存储路径", "type": "str", "length": 500},
|
|
{"name": "content", "title": "交付件内容", "type": "longtext"},
|
|
{"name": "quality_score", "title": "质量评分(0-100)", "type": "int", "nullable": "no", "default": "80"},
|
|
{"name": "review_status", "title": "评审状态", "type": "str", "length": 20, "nullable": "no", "default": "'pending'"},
|
|
{"name": "review_comment", "title": "评审意见", "type": "text"},
|
|
{"name": "reviewed_by", "title": "评审人", "type": "str", "length": 32},
|
|
{"name": "created_by", "title": "创建人", "type": "str", "length": 32, "nullable": "no"},
|
|
{"name": "created_at", "title": "创建时间", "type": "timestamp", "nullable": "no"}
|
|
],
|
|
"indexes": [
|
|
{"name": "idx_pd_project", "idxtype": "index", "idxfields": ["project_id"]},
|
|
{"name": "idx_pd_task", "idxtype": "index", "idxfields": ["task_id"]},
|
|
{"name": "idx_pd_review", "idxtype": "index", "idxfields": ["review_status"]}
|
|
],
|
|
"codes": [
|
|
{"field": "deliverable_type", "table": "appcodes_kv", "valuefield": "k", "textfield": "v", "cond": "parentid='deliverable_type'"},
|
|
{"field": "review_status", "table": "appcodes_kv", "valuefield": "k", "textfield": "v", "cond": "parentid='review_status'"}
|
|
]
|
|
}
|