docs(database): 修复数据库与枚举设计冲突
This commit is contained in:
79
数据库设计/9.模块一致性校验.md
Normal file
79
数据库设计/9.模块一致性校验.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# 模块一致性校验
|
||||
|
||||
## 1. 校验范围
|
||||
|
||||
本次校验覆盖:
|
||||
|
||||
- `需求分析/`
|
||||
- `设计文档/`
|
||||
- `数据库设计/`
|
||||
- `前端实现文档/`
|
||||
- `后端实现文档/`
|
||||
- `script/sql/*.sql`
|
||||
- `docs/MODEL_PROVIDER_SCHEMA.sql`
|
||||
- `docs/STUDIO_PROTOTYPE_SCHEMA.sql`
|
||||
|
||||
## 2. 文档占位检查
|
||||
|
||||
已检查常见未决占位关键词,当前新增文档与 SQL 脚本中未保留未决占位。
|
||||
|
||||
## 3. 数据库脚本一致性
|
||||
|
||||
| 模块 | 汇总 schema | 模块化脚本 | 结论 |
|
||||
|------|-------------|------------|------|
|
||||
| 模型与路由 | `docs/MODEL_PROVIDER_SCHEMA.sql` | `script/sql/model_provider.sql` | 已补齐 `rag_store_model_config.store_id` 外键 |
|
||||
| Studio 项目 | `docs/STUDIO_PROTOTYPE_SCHEMA.sql` | `script/sql/studio_project.sql` | 表、唯一约束、索引一致 |
|
||||
| Workflow | `docs/STUDIO_PROTOTYPE_SCHEMA.sql` | `script/sql/workflow.sql` | 定义、版本、运行、步骤表一致 |
|
||||
| Agent 会话 | `docs/STUDIO_PROTOTYPE_SCHEMA.sql` | `script/sql/agent_session.sql` | 会话和消息表一致 |
|
||||
| 能力绑定 | `docs/STUDIO_PROTOTYPE_SCHEMA.sql` | `script/sql/agent_capability_binding.sql` | 唯一约束和索引一致 |
|
||||
| MCP | `docs/STUDIO_PROTOTYPE_SCHEMA.sql` | `script/sql/mcp.sql` | Server 与 Capability 表一致 |
|
||||
| Skill | `docs/STUDIO_PROTOTYPE_SCHEMA.sql` | `script/sql/skill.sql` | 定义与版本表一致 |
|
||||
|
||||
## 4. 枚举一致性
|
||||
|
||||
`script/sql/studio_enum.sql` 保持 `sys_enum` 既有格式:
|
||||
|
||||
- `catalog`
|
||||
- `type`
|
||||
- `name`
|
||||
- `value`
|
||||
- `strvalue`
|
||||
- `sort`
|
||||
- `version`
|
||||
- `remark`
|
||||
|
||||
校验结果:
|
||||
|
||||
- 枚举行数:48。
|
||||
- 枚举组数:14。
|
||||
- 同一 `catalog + type` 下 `value` 无重复。
|
||||
- 同一 `catalog + type` 下 `sort` 无重复。
|
||||
|
||||
## 5. 跨模块依赖检查
|
||||
|
||||
| 依赖 | 结论 |
|
||||
|------|------|
|
||||
| 知识资产依赖系统附件 | `rag_document.attachment_id` 引用 `sys_attachment` 的设计保持不变 |
|
||||
| 知识资产依赖模型配置 | `rag_store_model_config` 连接 `rag_store` 与 `model_config` |
|
||||
| Workflow 依赖 Agent | `workflow_definition.bound_agent_id` 引用 `agent_definition` |
|
||||
| Workflow 运行依赖 Agent | `workflow_run.agent_id` 引用 `agent_definition` |
|
||||
| Agent 会话依赖 Workflow 运行 | `agent_session.workflow_run_id` 引用 `workflow_run` |
|
||||
| MCP/Skill 依赖能力绑定 | `agent_capability_binding` 通过类型和 ID 绑定能力 |
|
||||
| 运行观测依赖运行日志 | 复用 `workflow_run`、`workflow_run_step`、`model_call_log`、`agent_session` |
|
||||
|
||||
## 6. 保留约束
|
||||
|
||||
- 不修改 `sys_enum` 表结构。
|
||||
- 不修改 `PersistableSysEnumDefinition` 枚举契约。
|
||||
- 不把结构化枚举协议从整型值改为字符串值。
|
||||
- 本轮不修改 Java、Vue 或测试代码。
|
||||
|
||||
## 7. 后续实现提示
|
||||
|
||||
后续按文档重写代码时,新增 Java 枚举必须补齐:
|
||||
|
||||
- Java 枚举类。
|
||||
- `SysEnumDataInitTests` 初始化入口。
|
||||
- `EnumDefinitionTests` 稳定性断言。
|
||||
- `script/sql/studio_enum.sql` 初始化数据。
|
||||
- 前端字典或常量映射。
|
||||
Reference in New Issue
Block a user