新舊數(shù)據(jù)庫對(duì)比,自動(dòng)對(duì)比生成升級(jí)SQL語句的方式

    cd /download
    wget https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz
    tar xvf mysql-utilities-1.6.5.tar.gz
    cd mysql-utilities-1.6.5
    python setup.py build
    python setup.py install
    mysqldiff --version
mysqldiff --server1=root:pwd@172.22.160.20:3306 --server2=root:pwd@172.22.160.20:3306  ccos.role:maytest.role --difftype=sql

mysqldiff只能比較結(jié)構(gòu)不能比較數(shù)據(jù)

mysqldbcompare --server1=root:pwd@172.22.160.20:3306 --server2=root:pwd@172.22.160.20:3306  ccos:maytest  --changes-for=server1 --difftype=sql 
ERROR: The list of objects differs among database ccos and maytest.

沒有run-all-tests會(huì)報(bào)錯(cuò)

mysqldbcompare --server1=root:pwd@172.22.160.20:3306 --server2=root:pwd@172.22.160.20:3306 maytest2:maytest --changes-for=server2 --difftype=sql --run-all-tests

問題
1 新增的表沒有新增sql刪除的表沒有刪除表sql,但是會(huì)展示表名
2.字段修改插件沒辦法識(shí)別是修改還是刪除后再新增
3.表名修改 會(huì)當(dāng)做表刪除再新增
4.新增表有數(shù)據(jù)新增數(shù)據(jù)sql沒有
小結(jié)
1.問題1,4應(yīng)該可以解決字段名和表名修改不好判斷,刪除再新增容易丟失數(shù)據(jù)

該功能建議
1.增加數(shù)據(jù)庫備份和數(shù)據(jù)庫還原功能,防止根據(jù)插件生成的sql執(zhí)行出問題
2.根據(jù)插件生成的sql需要人工過一遍手動(dòng)執(zhí)行,沒問題可以上傳到svn文件名to.sql ***為版本號(hào)。再次升級(jí)就不需要人工過一遍直接執(zhí)行sql

驗(yàn)證
增刪修改數(shù)據(jù) 正常

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容