重要的话先说,今晚(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


Enjoy GreatSQL ?

关于 GreatSQL

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。

相关链接: GreatSQL社区GiteeGitHubBilibili

GreatSQL社区:

社区博客有奖征稿详情:https://greatsql.cn/thread-100-1-1.html

技术交流群:

微信:扫码添加GreatSQL社区助手微信好友,发送验证信息加群