-
Data Governance Dev authored
【Oracle 适配 — 端到端接入】 - web/core/db_adapter.py · 新增 to_oracle_kwargs(),oracledb 1.4.x 关键字映射 · _select_driver() 新增 oracle 分支,未安装 oracledb 时给中文友好报错 · _ensure_oracle_client() 自动检测 Instant Client,老 Oracle 切 thick 模式 · DBConfig.oracle_client_dir 字段(显式 lib_dir) · TEXT_TYPES 补 Oracle 类型(nclob / long) - web/sql/info_schema/list_columns.oracle.sql + list_tables.oracle.sql · 新增 Oracle 方言的字典查询模板(ALL_TAB_COLUMNS / ALL_TABLES) · 表注释 LEFT JOIN ALL_TAB_COMMENTS(同达梦结构) - web/sql/standards/{sample_field_groups,sample_field_groups_single, sample_field_pairs,sample_field_pairs_two_text}.sql · \`\${col}\` → \${col | quote} 跨方言重构,加新数据库零 SQL 改动 - web/sql/loader.py:dialect 白名单加 "oracle" - web/requirements.txt:锁定 oracledb>=1.4.2,<2.0(兼容 Oracle 11.2) - web/start.py:start 脚本新增 oracledb / dmPython 可选组件检测 - web/app.py / web/core/__init__.py / web/core/step_impl/__init__.py / web/core/models.py / web/configs/defaults.yaml / web/README.md · 描述/注释/枚举更新为「MySQL / 达梦 / Oracle」 · models.ConnectRequest 加 oracle_client_dir 字段 · README 加 Oracle 行 + 三端口映射说明 【达梦适配 — 跑通实测】 - web/core/db_adapter.py · to_dm_kwargs() 改用 server= 关键字(不是 host=),删 dmPython 不支持的 schema / charset / connect_timeout 参数(C 扩展传错会 SystemError 吞真实异常) · _rows_as_dicts() 统一 PyMySQL Dict / tuple 两种行格式 · fetchall / fetchone 从 cur.description 取列名兜底 · dmPython SystemError 增强日志(提示真实原因 + 给排查脚本路径) - web/sql/info_schema/list_columns.dameng.sql · 列注释 LEFT JOIN ALL_COL_COMMENTS(修 [CODE:-2207] C.COMMENTS) - web/sql/info_schema/list_tables.dameng.sql · BYTES → NULL(达梦 ALL_TABLES 无此列) · COMMENTS → LEFT JOIN ALL_TAB_COMMENTS(达梦 ALL_TABLES 无此列) · CREATED / LAST_DDL_TIME → NULL(达梦 ALL_TABLES 无时间戳) 真要看时间戳得 LEFT JOIN ALL_OBJECTS,按 OBJECT_TYPE='TABLE' 过滤 【UI 改进】 - web/static/index.html · 数据库类型三选项(MySQL / 达梦 / Oracle) · onDbTypeChange 端口切换改用 DB_DEFAULT_PORTS 映射表 (mysql:3306 / dameng:5236 / oracle:1521),加守卫保留用户自定义端口 · loadDbDefaults() 启动时从 /api/db-defaults 读连接默认值填表单 · charset 下拉新增 al32utf8 / zhs16gbk(Oracle NLS 字符集) · Oracle radio 暂未实装完成,先注释隐藏(后端代码保留,放开零成本) 【连接默认值独立配置】 - web/configs/db_defaults.yaml(新增,.gitignore 排除,存真实凭据) - web/api/routes.py:新增 GET /api/db-defaults 端点 - .gitignore:补 web/configs/db_defaults.yaml 防止真实凭据误提交 【诊断与日志】 - scripts/_probe_dm.py:达梦连接独立诊断工具(C 扩展吞异常时排查用) - docs/WORKLOG.md:本次任务完整工作记录(含三库字典表差异表) 【未提交】 - web/configs/db_defaults.yaml(真实密码,gitignore 排除) - scripts/_tmp_build_violations_md.py(一次性调试脚本,硬编码绝对路径) - data_dictionary/standard_fields_violations_report.md(生成报告,非源码)9646cd1a
This project manages its dependencies using
pip.
Learn more