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

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

重要的话先说,今晚(3月20日)19:30 gt-checksum新版本发布会,扫码(或点文末阅读原文)预约

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)。

EnjoyGreatSQL:)


相关文章
|
2月前
|
人工智能 Rust Apache
|
7月前
|
SQL 存储 关系型数据库
group by语句查询如何确保保留重复数据
group by语句查询如何确保保留重复数据
118 0
|
存储 SQL Oracle
好用的数据校验&修复工具gt-checksum开源啦
好用的数据校验&修复工具gt-checksum开源啦
393 0
error MSB8008: 指定的平台工具集()未安装或无效。请确保选择受支持的 PlatformToolset 值
error MSB8008: 指定的平台工具集()未安装或无效。请确保选择受支持的 PlatformToolset 值
135 0
error MSB8008: 指定的平台工具集()未安装或无效。请确保选择受支持的 PlatformToolset 值
|
缓存 索引
ES的删除和更新,旧数据到低是如何处理的?
根据ES的读写入原理,大家都知道ES写入时每秒从内存缓冲区(memory buffer)生成小的segment,将其递交给系统缓存(OS filesystem cache)中,后台会定期的对这些小的segment 合并成一个大的segment段
403 0
ES的删除和更新,旧数据到低是如何处理的?
|
JavaScript Oracle 关系型数据库
深入解析TRUNCATE TABLE – 手工修复和验证过程
众所周知,truncate table 是一种快速清空表内数据的一种方式,与 delete 方式不同,truncate 只产生非常少的 redo 和 undo,就实现了清空表数据并降低表 HWM 的功能。本文主要围绕 truncate table 的恢复来展开。
2711 0
|
存储 SQL 关系型数据库
FAQ系列 | 列类型被自动修改导致复制失败
FAQ系列 | 列类型被自动修改导致复制失败
116 0
|
安全 JavaScript Java
行数据上加一个version版本字段,可以有效防止数据重复更新
行数据上加一个version版本字段,可以有效防止数据重复更新
301 0
行数据上加一个version版本字段,可以有效防止数据重复更新
|
关系型数据库 数据库 PostgreSQL
PostgreSQL 数据库数据文件BLOCK一致性校验、备份集恢复后的有效性快速校验 - pg_verify_checksums
PostgreSQL 数据库数据文件BLOCK一致性校验、备份集恢复后的有效性快速校验 - pg_verify_checksums
2611 0