用途:从 Pydantic v2 模型生成 DBeaver 的 ClickHouse 连接配置,以环境变量作为唯一事实来源(SSoT),适用于为 ClickHouse 数据库搭建 DBeaver 连接、管理本地与云端连接配置、自动化生成 data-sources.json。
主要能力:提供 ClickHouseConnection 模型,具备 Pydantic v2 类型校验、JDBC URL 与连接 ID 计算字段、按模式区分的默认值(云端在 8443 端口自动启用 SSL),并通过 from_env() 从环境变量加载。脚本读取 os.environ.get() 并带向后兼容默认值,所有变量均可选。
使用方式:常用命令包括 uv run scripts/generate_dbeaver_config.py --output .dbeaver/data-sources.json(本地)、加 --mode cloud(云端)、--dry-run(仅预览)。云端模式需先通过 clickhouse-cloud-management 获取凭据并写入被 gitignore 的 .env(CLICKHOUSE_USER_READONLY、CLICKHOUSE_PASSWORD_READONLY)。环境变量如 CLICKHOUSE_NAME、CLICKHOUSE_MODE、CLICKHOUSE_HOST、CLICKHOUSE_PORT、CLICKHOUSE_DATABASE 可导出或放入 .env。
适用场景与限制:适合需要按仓库结构适配的配置生成,强调半规定式适配而非固定模板。DBeaver 不支持 ${VAR} 替换,值须在生成时预填;生成的 data-sources.json 应加入 .gitignore。macOS 下 DBeaver 二进制路径为 /Applications/DBeaver.app/Contents/MacOS/dbeaver。常见问题包括端口不匹配(HTTP 8123、原生 9000)、.env 未加载、JSON 校验失败、云端 SSL 端口错误、连接 ID 冲突及 DBeaver 缓存需重启。Python 应用连接 ClickHouse 建议使用 clickhouse-connect。具体收费、价格与平台支持暂未提供。