diff --git a/HarborForge.Backend b/HarborForge.Backend index 3afbbc2..c6b14ac 160000 --- a/HarborForge.Backend +++ b/HarborForge.Backend @@ -1 +1 @@ -Subproject commit 3afbbc2a88dcb6c27fca9ceb5d5362dd4c68be26 +Subproject commit c6b14ac25fa07a29715213431fe37e26c5f3daee diff --git a/HarborForge.Frontend b/HarborForge.Frontend index 2897172..d399668 160000 --- a/HarborForge.Frontend +++ b/HarborForge.Frontend @@ -1 +1 @@ -Subproject commit 289717221369507a3397808691b166459e5468dd +Subproject commit d39966893263e995e9e80c9a89b6c6c31701869b diff --git a/docs/milestone-propose-requirements.md b/docs/milestone-propose-requirements.md index feb9989..961f92c 100644 --- a/docs/milestone-propose-requirements.md +++ b/docs/milestone-propose-requirements.md @@ -597,6 +597,47 @@ - 或 P2.2 默认角色权限种子配置(为 dev/mgr 等常用角色预置合理的新权限组合) - 或 P7.1 移除 `task_type = task`(代码清理项,独立性强) +### 2026-03-17 16:00 UTC(第 18 轮:P7.1-P7.2 移除 task_type='task' — 前后端 + DB 迁移) + +本轮做了什么: +- 完整实现 P7.1(后端)和 P7.2(前端):移除 `task_type = task` 类型 +- **后端 schemas.py**:从 `TaskTypeEnum` 中移除 `TASK = "task"`,默认值改为 `ISSUE` +- **后端 tasks.py**:从 `TASK_SUBTYPE_MAP` 中移除 `'task': {'defect'}` 条目 +- **后端 task.py(model)**:列默认值从 `"task"` 改为 `"issue"` +- **后端 misc.py**:import 默认值从 `"task"` 改为 `"issue"` +- **后端 main.py(DB 迁移)**: + - 新增迁移步骤:`UPDATE tasks SET task_type='issue' WHERE task_type='task'` + - 新表创建默认值改为 `'issue'` +- **前端 types/index.ts**:Task 类型联合移除 `'task'` +- **前端 CreateTaskModal.tsx**:移除 task 类型条目,默认 task_type 改为 `'issue'` +- **前端 CreateTaskPage.tsx**:同上 + +改了哪些关键文件: +- `HarborForge.Backend/app/schemas/schemas.py` — 移除 TASK enum +- `HarborForge.Backend/app/models/task.py` — 默认值改为 issue +- `HarborForge.Backend/app/api/routers/tasks.py` — 移除 task subtype map +- `HarborForge.Backend/app/api/routers/misc.py` — 默认值改为 issue +- `HarborForge.Backend/app/main.py` — DB 迁移脚本 +- `HarborForge.Frontend/src/types/index.ts` — 类型联合更新 +- `HarborForge.Frontend/src/components/CreateTaskModal.tsx` — 移除 task 类型 +- `HarborForge.Frontend/src/pages/CreateTaskPage.tsx` — 移除 task 类型 + +验证结果: +- 5 个后端文件 Python AST 语法检查全部通过 +- `npx tsc --noEmit` 零错误通过 +- grep 确认前后端无残留 `task_type='task'` 引用 +- 已 commit:backend `89e3bcd`,frontend `d399668` + +当前阻塞/风险: +- P7.3 历史数据处理:DB 迁移脚本已自动将 `task_type='task'` 转为 `'issue'`,但无本地 MySQL 做实际验证 +- `defect` subtype 现在仅属于 `issue` 类型(原先 `task` 和 `issue` 都有 defect),语义上更清晰 +- 无本地运行环境做集成验证 + +下一轮最建议继续做什么: +- P4.1 通用依赖检查 helper 抽取(milestone start 和 task pending→open 复用) +- 或 P2.2 默认角色权限种子配置(为 dev/mgr 等常用角色预置合理的新权限组合) +- 或 P11.1 前端权限列表展示新增权限 + --- ## 1. 背景