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

2023年 8月 15日 79.2k 0

发布会回顾:

https://www.bilibili.com/video/BV1WM4y167nv

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

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论