Skip to content

Jync v1.7.5

Latest

Choose a tag to compare

@vfaner vfaner released this 16 Oct 14:05
· 9 commits to main since this release

Jync v1.7.5

新增 AI 本地模型配置与深度思考档位;修复安全、结构同步、日志 CDC、类型转换与运行中编辑保护方面的一批问题。

新功能

  • Ollama 本地预设:地址填 http://localhost:11434/v1,超时 300 秒,密钥栏收起。
  • Ollama 原生接口:走 /api/chat,支持 NDJSON 流式输出。
  • 深度思考档位:跟随模型默认 / 关闭 / 低 / 高;按协议落 reasoning_effort 或 thinking.budget_tokens,默认不发任何相关字段。
  • 首启自动生成加密密钥:新部署不再使用公开默认密钥,密钥写到库同目录 <库名>.key(权限 0600)。
  • 下载包 SHA-256 校验:一键升级额外核对哈希,不匹配不替换。
  • 目标连接建表权限预检:连接测试阶段报出缺失权限,并给出 GRANT 语句。

修复

  • 运行中编辑保护:项目运行中禁止修改源/目标库、表选择、表名映射及其所用连接配置。
  • 换端点清状态:停止状态下换库会清空游标、分块检查点、结构快照与 CDC 位点,下次启动全量重载。
  • 空保存不再写库:原样保存不刷新 updated_at、不写审计、不重建调度触发器。
  • CDC 恢复与日志:恢复后清掉过期的致命故障摘要;启停各记一条变更日志;实际应用并提交变更时推进「上次同步」。
  • 英文界面中文泄露:协议、数据库类型、升级状态与错误文案改走语言包。
  • 推理档位文案:订正帮助文案与注释(o 系列最低 low,none 仅 gpt-5.1 起)。
  • 上次同步时间:仅实际落库、删除或结构变更的轮次推进,闲置轮与失败轮不动。
  • Oracle 建表列子句顺序:DEFAULT 移到 NOT NULL 之前,修 ORA-00907 / ORA-03076;补 Oracle 原生浮点与 BIT 宽度。
  • 目标表已存在:按厂商码 955 识别重复对象,缺列自动补上(只增列)。
  • 空闲轮询刷假更新 / 日志刷屏:值未变不计更新,有变更才记 INFO。
  • 失败摘要刷屏:同因错误归约成一句。
  • LogMiner 缺列 / NLS:缺列不再静默写 NULL;时间戳不再带中文 NLS 文本。
  • SQL Server 增量停止:中途停止放弃半成品事务窗口,避免错误 DELETE。
  • 类型映射与建表 DDL:BIGINT UNSIGNED 溢出、PG enum/数组、TIME WITH TIME ZONE、伪数字默认值、DB2 自增、MySQL 无键 AUTO_INCREMENT 等。
  • JDBC 元数据空列名:跳过空列名,不再整表读取失败。
  • 超长字段校验:服务层拒绝并返回 400。
  • 一键更新脚本:路径含单引号按 POSIX 转义。

测试

  • 单元测试 1410 个全部通过(默认套件,*IT 需 Docker 另跑)。

已知边界

  • openGauss 目标的 upsert 无挂条件位置,源库未动时仍会多报更新。
  • 空闲轮仍重读游标边界那一秒的行(迟到事务安全余量),由目标侧守卫吸收。

升级

替换 jar 重启即可,表结构随 ddl-auto: update 自动演进;升级前备份 ./data。停机期间的源库变更会在重启后自动补齐。