Repository navigation
Jync v1.7.4
Jync v1.7.4
本版聚焦 MySQL → Oracle 建表问题的根治:v1.7.3 修复了版本探测不到时误发 12c identity 语法的问题,但同版本覆盖发布无法被一键升级发现,仍有用户运行旧包。本版在版本门控之外增加实机语法探测,并在设置页显示构建时间戳,让同版本的不同构建可区分。
本次更新
修复:Oracle identity 语法增加实机解析探测
- 版本号(产品版本与
COMPATIBLE取小)现在是必要但不再充分的判断条件:经 Oracle 线路协议到达的非 Oracle 数据库、特殊兼容配置,可能报告现代版本号却拒绝AS IDENTITY语法 - 建表前通过
DBMS_SQL.PARSE对一张不存在的表做只解析、不执行的探测:返回 ORA-0942(语法通过、仅对象不存在)→ 使用 identity;返回 ORA-00907 / ORA-02000(语法不认识)→ 强制降级为全版本合法的「普通列 + SEQUENCE + BEFORE INSERT 触发器」 - 探测本身或连接出现任何异常,同样安全降级为 12c 前方案,不再赌现代语法
- 真实容器验证:11g XE 实测报 ORA-02000 降级、23ai 报 ORA-0942 放行,探测零对象产生;序列 + 触发器在两种库上显式主键插入与触发器补号均正确
新功能:设置页显示构建时间戳
- 「当前版本」旁新增构建时间,例如
构建于 2026-10-15 13:32 UTC:版本号相同的覆盖包从此可以区分,反馈问题时提供该时间即可确认运行的是哪个构建 - 时间统一 UTC,跨时区显示一致;无 build-info 的 IDE / 开发构建不显示
测试
- 新增 12 个测试(1196 → 1208),全量 1208 测试通过
- 真实 11g XE 与 23ai 容器端到端验证:identity 探测判别、降级建表、序列触发器补号、元数据识别均通过
升级
替换 jar 重启即可,表结构随 ddl-auto: update 自动演进;升级前备份 ./data。停机期间源库变更重启后自动补齐。
也可直接在设置页用「一键升级」完成(新版本号可被更新检查正常发现,默认从 Gitee 下载)。