• Data Governance Dev's avatar
    feat(web3): Oracle 连接支持 + schemas 列表修复 + start.bat 自动重启 · f346ef6f
    Data Governance Dev authored
    包含三块改动:
    
    1. Oracle Instant Client 路径字段端到端打通
       - 后端 ConnectRequest / TaskOut / DBConfig 已有 oracle_client_dir 字段但前端
         表单缺一个输入框,用户拿不到这个值,测试连接永远走 thin 模式
       - TaskModal 表单加 Oracle Client 输入框(仅 dbType=Oracle 时显示)+ 回填/保存
       - connections.js buildPayload / connectionPresets.js presetToForm 串联字段
       - routers/tasks.py TaskOut 加 oracle_client_dir 给编辑场景用
       - routers/queries.py DBConfig 多传 oracle_client_dir(关键,否则查询时
         还是 thin 模式)
    
    2. Oracle schemas 列表 + database/schema 拆分
       - Oracle list_schemas 改用 ALL_TABLES.DISTINCT OWNER(之前用 all_users
         会列所有用户,大部分没表,选了之后 list_tables 找不到表)
       - list_tables / list_columns 加独立 schema 参数:MySQL/达梦 留空走默认
         (fallback 到 database),Oracle 用前端传的 OWNER。
         之前错位:database=service_name 时被当成 OWNER 查 ALL_TABLES → 0 行
       - ConnectRequest 加 schema: Optional[str] 字段
       - 前端 buildPayload 加 schema: form.schema || form.db
    
    3. start.bat 启动后端前自动 kill 占用 :8767 的老进程
       - 后端没 --reload,改代码后必须手动 taskkill 老进程,否则新进程 bind 失败
         静默退出,start.bat 用户以为改了没生效
       - 现在双击 start.bat 就行:netstat 找 PID → taskkill → 等端口释放 → 起新进程
    
    12 条后端用例全过。
    f346ef6f
db.py 10.7 KB