【有问必答】通过什么工具可以对比 OceanBase 中不同表的表结构?

OB有什么可以对比2个环境的表结构不一致的工具吗,求推荐

我理解你把两张表通过 show create table 语句返回的结果保存到两个文件里,然后 vimdiff 以下是不是就好了?哈哈~

例如:

[xiaofeng.lby@obvos-dev-d3 /home/xiaofeng.lby]
$vimdiff a.sql b.sql

navicat 工具可以试试

几w张表这么玩?

哦哦,不好意思,我理解错了,要对比两个环境里几万张表的表结构是吧?

那就推荐用一下 ODC 的结构比对功能吧,哈哈,详见:OceanBase分布式数据库-海量数据 笔笔算数

这个我们看过了,也不太现实,我们有400多个库,总计有12w张表,每个星期都要对比一次,有时候甚至每天都要对比一次,之前MySQL我们都是用脚本配合工具,基本不需要人工干预,ODC任务的形式太复杂,光建任务就得花费大量人力和时间,这个也跟OB得人反馈过,死活不改,不知道为什么这么乐意用工单得形式

不同产品形态有不同的设计理念,ODC 未来会提供 OpenAPI 开放基础能力。

针对结构比对的场景,ODC 的结构比对实际上也是基于开源的 db-browser 组件实现的,db-browser 已发布到 maven 中央仓库,其实源码也在 ODC 代码仓库 GitHub - oceanbase/odc: OceanBase Developer Center(ODC), An open-source, enterprise-grade database tool for collaborative development , libs/db-browser 目录下。

你如果希望转为一个脚本,也可以基于 db-browser 实现的, 可参考 ODC 的代码实现: odc/server/odc-service/src/main/java/com/oceanbase/odc/service/structurecompare at main · oceanbase/odc · GitHub

1 个赞

ODC-工单-结构对比

选入有问必答板块~