DBeaver 比较报告:3 步只看真实差异
【免费下载链接】dbeaverFree universal database tool and SQL client项目地址: https://gitcode.com/GitHub_Trending/db/dbeaver
拿开发库和生产库两张同名的表做比较,默认报告会把每个属性都列一遍,绝大多数行两边完全一样,你翻了几页才找到那条类型不一致的字段。DBeaver 自带的数据比较功能里有一个"仅显示差异"(Show only differences)开关,勾上它,200 行的报告能缩到十几行真正有变化的地方。
先看效果,再找入口
勾选"仅显示差异"后,生成的比较报告里只保留两边不一样的行,相同属性的对照行全部不出现。报告本身是 HTML 格式,可以直接在浏览器里打开,也可以存成文件放到指定文件夹发给同事。
入口在数据库导航器里:选中要对比的对象,右键菜单"比较/迁移(Compare/Migrate)"下的"简单结构比较"。功能实现在 plugins/org.jkiss.dbeaver.cmp.simple.ui,报告生成逻辑在 plugins/org.jkiss.dbeaver.cmp.simple。
操作主线:从选对象到出报告
选中至少两个同类型对象
- 在数据库导航器里点选第一个对象,比如开发库里的 orders 表
- 按住 Ctrl(或 Shift)再点第二个对象,即生产库里的 orders 表;要对比三方也可以继续加
- 右键 → 比较/迁移 → 简单结构比较
向导打开后,第一页会列出本次参与比较的对象名称、类型和完整限定名,下方是四个比较开关。
勾上"仅显示差异"过滤选项
第二页是报告设置,核心就是那个"Show only differences"勾选框,勾上它。第一页的开关按需搭配:
- "跳过系统对象":默认勾选,避免系统表把报告撑爆
- "Compare only structure(只比结构)":你只关心字段、约束等结构差异时勾上,不比对属性值
- "Compare scripts/procedures(比较脚本/存储过程)":需要核对存储过程定义时才勾
比如,你只想确认两张表的字段类型有没有被改过,按这个顺序走:选中两张表 → 第一页勾"只比结构" → 第二页勾"仅显示差异" → 点 Finish。出来的报告里,剩下的每一行都是结构上对不上的地方。
选择报告输出方式
第二页的输出类型默认"Open in browser",比较完自动用浏览器打开;改成"Save to file"并选好输出文件夹,报告会存成一个以对象名命名的 HTML 文件。点 Finish,等进度条走完,弹窗提示"Objects compare finished"就大功告成。
进阶一招:设置自动记住
向导每次 Finish 都会把勾选项写进本地设置,由 CompareObjectsWizard 负责保存和恢复。所以下次再打开比较向导时,"仅显示差异"、输出方式都还是你上次勾的状态,不用重复设置;哪次想看全量对照,取消勾选即可,同样会被记住。
容易踩的坑
- 右键菜单灰色、或报"需要选择两个对象"→ 你只选了 1 个对象,或选中了不同类型(一张表加一个视图)。重新选两个同类型对象即可。
- 报告一片空,但两边明明有差别→ 一些高成本属性默认不参与比较。回第一页勾上"Compare expensive properties"再跑一遍。
- 浏览器关了报告就找不到了→ "Open in browser"模式把 HTML 生成在系统临时目录,不会持久保存。要留档就选"Save to file"并指定文件夹。
下次再对比两张同名表,先把"仅显示差异"勾上再点 Finish,报告里留下的就是需要你处理的那几行。
【免费下载链接】dbeaverFree universal database tool and SQL client项目地址: https://gitcode.com/GitHub_Trending/db/dbeaver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考