- 补入库:server/internal/db/dump.go、redis 分页/扫描预算测试、opsxdb-mcp main_test、 packages/opsxdb-mcp package-lock、docs 审计与对比文档等 37 个新文件 - 含结构扁平化进行中的 80 处修改与 155 处旧结构删除(server/ src/ src-tauri/ 为当前有效源) - 构建产物(bin/target/dist)与签名私钥仍按规则排除
opsxdb 连接类型注册表(connection-types.json,schema v1)
connection-types.json 是 opsxdb 驱动目录的单一事实来源(规划中):src/catalog.ts
的 DRIVERS 与服务端 server/internal/db/open.go 的驱动分发,最终都应从本注册表生成。
当前阶段注册表与代码手工保持一致,生成器接入前以代码为准。
数据来源说明见 NOTICE.md。
设计
- 单个 JSON 注册表:
types数组顺序即选择器展示顺序,与catalog.ts的DRIVERS数组保持同序;不设独立排序字段,避免引入任意常数。 - JSON 无注释:字段语义统一在本文件说明,条目级备注(如验收阻塞原因)写入
notes字段。
字段说明
| 字段 | 必填 | 说明 |
|---|---|---|
id |
✓ | 驱动 ID,与 catalog.ts 的 DriverId 一致 |
label |
✓ | 显示名 |
category |
✓ | 关系型 / NoSQL / 国产库 / 时序/搜索(选择器分组) |
driverFamily |
✓ | 服务端分发:mysql / postgres / sqlserver / oracle / sqlite / redis / agent(未实现,走外部驱动) |
runtime |
✓ | native(Go 驱动编译内置)/ agent(按需下载的外部驱动)/ file(本地文件库) |
form |
✓ | 连接表单:standard / file / redis / oracle(对应 ConnectionForm) |
ready |
✓ | 用户可测试/连接;false 时选择器显示"未就绪",仅可保存 |
verified |
✓ | 本机 docker 验收通过(依据 tests/README.md 驱动验收表);false 表示代码就绪但未经本机验证 |
defaultPort |
✓ | 默认端口;文件库为 0 |
mysqlCompat |
MySQL 协议族(TiDB/OceanBase/PolarDB/TDSQL 等复用 mysql 驱动) | |
color / icon |
选择器展示 | |
hints |
表单占位提示(host/port/user/database/service) | |
fields |
✓ | 连接表单收集且服务端实际消费的字段;表单不渲染、服务端不接收的字段禁止列入 |
notes |
条目级备注(如 verified: false 的原因) |
纪律
fields必须与server/internal/db/types.go的ConnReq实际消费字段一致 (审计记录:Oracle 的oracleRole/oracleIdKind、SQL Server 的authMode、 Redis 的keySeparator/redisMode为已知的死参数,不得回流)。- 新增驱动时同步更新
tests/README.md验收表与catalog.ts,并保持注册表与DRIVERS数组同序。