Gt-checksum 1.2.1發(fā)布,新增表結(jié)構(gòu)校驗(yàn)及修復(fù)等超實(shí)用特性
gt-checksum 1.2.0版本發(fā)布后,受到了廣大社區(qū)用戶(hù)的熱烈響應(yīng)。短短幾天,便有幾十個(gè)star,以及社區(qū)用戶(hù)提交了十幾條issue反饋問(wèn)題,更有熱心用戶(hù)幫忙優(yōu)化了Dockerfile,據(jù)說(shuō)還有某大廠(chǎng)計(jì)劃基于gt-checksum做二開(kāi)。這些都讓我們深受鼓舞,這說(shuō)明大家對(duì)國(guó)人的開(kāi)源項(xiàng)目并不抵觸,這個(gè)開(kāi)源項(xiàng)目也確實(shí)是業(yè)界所需。
針對(duì)1.2.0版本中存在的數(shù)個(gè)bug,以及社區(qū)用戶(hù)呼聲較高的幾個(gè)功能特性,我們經(jīng)過(guò)一周多的緊張迭代開(kāi)發(fā)和測(cè)試,已經(jīng)準(zhǔn)備就緒,決定發(fā)布v.1.2.1版本。
針對(duì)表結(jié)構(gòu)校驗(yàn)和修復(fù)特性,在v1.2.1版本中新增幾個(gè)參數(shù):
- --ScheckFixRule / --sfr,設(shè)置表結(jié)構(gòu)校驗(yàn)時(shí),數(shù)據(jù)修復(fù)時(shí)的對(duì)準(zhǔn)原則,選擇源端 或 目標(biāo)端作為數(shù)據(jù)修復(fù)的依據(jù)。
- --ScheckOrder / --sco,設(shè)置表結(jié)構(gòu)數(shù)據(jù)校驗(yàn)時(shí),是否要檢查數(shù)據(jù)列的順序。
- --ScheckMod / --scm,設(shè)置表結(jié)構(gòu)校驗(yàn)時(shí)采用嚴(yán)格還是寬松模式。
gt-checksum v1.2.1版本中完成表結(jié)構(gòu)校驗(yàn)后,如果想要使之直接修復(fù)表結(jié)構(gòu)不一致的地方,還需要給執(zhí)行用戶(hù)加上對(duì)目標(biāo)虧包的 ??ALTER?
? 權(quán)限,這個(gè)方面也要注意下。
gt-checksum v1.2.1版本中主要變化有以下幾點(diǎn):
- 新增表結(jié)構(gòu)的校驗(yàn),并生成修復(fù)語(yǔ)句,支持對(duì)象包括如下(源目標(biāo)端校驗(yàn)表都存在):
- 支持列的數(shù)據(jù)類(lèi)型的校驗(yàn)及修復(fù)
- 支持列的字符集及校驗(yàn)級(jí)的校驗(yàn)及修復(fù)(MySQL支持字符串校驗(yàn),Oracle不校驗(yàn))
- 支持列是否允許null的校驗(yàn)及修復(fù)
- 支持列的默認(rèn)值是否一致的校驗(yàn)及修復(fù)
- 支持列的亂序的驗(yàn)證及修復(fù)
- 支持列數(shù)據(jù)存在多列、少列的驗(yàn)證及修復(fù)
- 支持列的comment的校驗(yàn)及修復(fù)
- 支持寬松模式和嚴(yán)謹(jǐn)模式校驗(yàn)
- 支持校驗(yàn)列時(shí)是按正序校驗(yàn)還是亂序校驗(yàn)
- 支持修復(fù)語(yǔ)句列屬性的指定依據(jù),是按源端校驗(yàn)還是目標(biāo)端校驗(yàn)
- 修復(fù)索引校驗(yàn)并生成修復(fù)語(yǔ)句時(shí)出現(xiàn)的空指針錯(cuò)誤
- 修復(fù)因?yàn)?.0數(shù)據(jù)庫(kù)查詢(xún)條件沒(méi)有產(chǎn)生where關(guān)鍵字導(dǎo)致的sql執(zhí)行失敗
- 優(yōu)化代碼(參數(shù)input輸入部分),精簡(jiǎn)代碼,并結(jié)構(gòu)化處理
- 修復(fù)因數(shù)據(jù)庫(kù)開(kāi)啟lowerCaseTableNames不生效導(dǎo)致無(wú)法校驗(yàn)區(qū)分大小寫(xiě)的表
最新版本的gt-checksum代碼已上傳到gitee上,項(xiàng)目地址:
???https://gitee.com/GreatSQL/gt-checksum/tree/1.2.1/??
二進(jìn)制包下載地址:
???https://gitee.com/GreatSQL/gt-checksum/releases/tag/1.2.1??
歡迎圍觀(guān)、加星,也歡迎來(lái) 找茬、提patch/issue(https://gitee.com/GreatSQL/gt-checksum/issues)。