Files
opsxdb/connection-types/README.md
T
logan 26f459d1b8 fix: 顶栏文案去重与文档/连库体验更新
顶栏定为:连接 · 新建连接 · 新建查询 · 查询历史 · 快捷键;
同步 docs/落地页、对象树与 connection-types 注册表整理。
2026-09-20 16:32:29 +08:00

2.5 KiB
Raw Blame History

opsxdb 连接类型注册表(connection-types.json,schema v1)

connection-types.json 是 opsxdb 驱动目录的单一事实来源(规划中):packages/ui/src/catalog.ts 的 DRIVERS 与服务端 apps/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 必须与 apps/server/internal/db/types.go 的 ConnReq 实际消费字段一致 (审计记录:Oracle 的 oracleRole/oracleIdKind、SQL Server 的 authMode、 Redis 的 keySeparator/redisMode 为已知的死参数,不得回流)。
  • 新增驱动时同步更新 tests/README.md 验收表与 catalog.ts,并保持注册表与 DRIVERS 数组同序。