写点什么

gt-checksum 1.2.1 发布,新增表结构校验及修复等超实用特性

作者:GreatSQL
  • 2023-03-20
    福建
  • 本文字数:969 字

    阅读完需:约 3 分钟

gt-checksum 1.2.1发布,新增表结构校验及修复等超实用特性

重要的话先说,今晚(3 月 20 日)19:30 gt-checksum 新版本发布会,点击下面的链接预约:


会议详情 (tencent.com)


gt-checksum 1.2.0 版本发布后,受到了广大社区用户的热烈响应。短短几天,便有几十个 star,以及社区用户提交了十几条 issue 反馈问题,更有热心用户帮忙优化了 Dockerfile,据说还有某大厂计划基于 gt-checksum 做二开。这些都让我们深受鼓舞,这说明大家对国人的开源项目并不抵触,这个开源项目也确实是业界所需。


针对 1.2.0 版本中存在的数个 bug,以及社区用户呼声较高的几个功能特性,我们经过一周多的紧张迭代开发和测试,已经准备就绪,决定发布 v.1.2.1 版本。


针对表结构校验和修复特性,在 v1.2.1 版本中新增几个参数:


  • --ScheckFixRule / --sfr,设置表结构校验时,数据修复时的对准原则,选择源端 或 目标端作为数据修复的依据。

  • --ScheckOrder / --sco,设置表结构数据校验时,是否要检查数据列的顺序。

  • --ScheckMod / --scm,设置表结构校验时采用严格还是宽松模式。


gt-checksum v1.2.1 版本中完成表结构校验后,如果想要使之直接修复表结构不一致的地方,还需要给执行用户加上对目标亏包的 ALTER 权限,这个方面也要注意下。


gt-checksum v1.2.1 版本中主要变化有以下几点:


  • 新增表结构的校验,并生成修复语句,支持对象包括如下(源目标端校验表都存在):

  • 支持列的数据类型的校验及修复

  • 支持列的字符集及校验级的校验及修复(MySQL 支持字符串校验,Oracle 不校验)

  • 支持列是否允许 null 的校验及修复

  • 支持列的默认值是否一致的校验及修复

  • 支持列的乱序的验证及修复

  • 支持列数据存在多列、少列的验证及修复

  • 支持列的 comment 的校验及修复

  • 支持宽松模式和严谨模式校验

  • 支持校验列时是按正序校验还是乱序校验

  • 支持修复语句列属性的指定依据,是按源端校验还是目标端校验

  • 修复索引校验并生成修复语句时出现的空指针错误

  • 修复因为 8.0 数据库查询条件没有产生 where 关键字导致的 sql 执行失败

  • 优化代码(参数 input 输入部分),精简代码,并结构化处理

  • 修复因数据库开启 lowerCaseTableNames 不生效导致无法校验区分大小写的表


最新版本的 gt-checksum 代码已上传到 gitee 上,项目地址:https://gitee.com/GreatSQL/gt-checksum/tree/1.2.1/


二进制包下载地址:https://gitee.com/GreatSQL/gt-checksum/releases/tag/1.2.1


欢迎围观、加星,也欢迎来找茬、提 patch/issue(https://gitee.com/GreatSQL/gt-checksum/issues)

用户头像

GreatSQL

关注

GreatSQL社区 2023-01-31 加入

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。 社区:https://greatsql.cn/ Gitee: https://gitee.com/GreatSQL/GreatSQL

评论

发布
暂无评论
gt-checksum 1.2.1发布,新增表结构校验及修复等超实用特性_MySQL_GreatSQL_InfoQ写作社区