Skip to content

feat: 新增 ClickHouse / Doris / SQL Server 数据源支持 - #3

Open
Dgwkuke wants to merge 7 commits into
omdsh-dev:mainfrom
Dgwkuke:feat/clickhouse-doris-sqlserver
Open

feat: 新增 ClickHouse / Doris / SQL Server 数据源支持#3
Dgwkuke wants to merge 7 commits into
omdsh-dev:mainfrom
Dgwkuke:feat/clickhouse-doris-sqlserver

Conversation

@Dgwkuke

@Dgwkuke Dgwkuke commented Aug 15, 2026

Copy link
Copy Markdown

概述

按本项目既有的「每数据源一整套 CLI 模板 + 元数据 SQL + 解析器 + 连接表单」架构,新增三类数据源的完整支持:

  • ClickHouseclickhouse-client(stdin 批处理、--multiquery --format TSV),密码走 CLICKHOUSE_PASSWORD 环境变量,默认端口 9000
  • Doris:复用 mysql CLI(FE MySQL 协议),默认端口 9030,密码走 MYSQL_PWD
  • SQL Serversqlcmd-S/-U/-E/-d/-W/-s/-h/-1/-C),密码走 SQLCMDPASSWORD 环境变量,默认端口 1433;工作台「库」= 当前库内 schema,跨库操作走 SQL

三类均完整接入:/connect 连通验证、/schemas /tables /describe 元数据、/query、sqlcmd 工具、只读护栏语句分类、浏览器连接表单与草稿持久化、中英文案与预设 persona。

关键实现点

  • src/clients.ts:9 类型默认端口/命令/参数、连接参数、凭据 env、元数据 SQL 与解析器
  • src/routes.tsvalidateConnectBody 白名单 +3;修复 routes 行 clients 固定为 {} 的缺口
  • src/client/*:表单新选项 + 默认端口 + localStorage v1 白名单 + zh/en 标签
  • 文档与预设同步;构建产物 lib/ 已重建

设计决策

  • FlinkSQL / SparkSQL 暂不实现(README 已标注规划中)
  • SQL Server 浏览采用「库=schema」两层映射;跨库走 SQL
  • SQL Server 默认含 -C(信任服务器证书),可覆盖

测试证据

  • pnpm test:95 个单元测试全绿
  • pnpm typecheck:0 error
  • 新增 tests/integration-smoke.spec.ts:opt-in 真实环境集成冒烟,已对 ClickHouse 26.7.3.19 / Doris FE 9030 / SQL Server 2022 实测 15/15 通过

兼容性

  • 既有 6 类数据源行为不变,HTTP API 形状不变(仅 type 枚举 +3)
  • clients 配置为纯增量;不新增 npm 依赖,不改执行模型

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant