erwin中文网站 > 新手入门 > erwin怎么比较模型差异 erwin模型差异结果怎么生成报告
教程中心分类
erwin怎么比较模型差异 erwin模型差异结果怎么生成报告
发布时间:2026/04/20 15:53:26

  在erwin里做模型比对,很多人第一步就急着点比较,结果不是差异太多看不清,就是比完以后不知道哪些是真改动,哪些只是对象范围没筛好。官方帮助其实把这条路拆得很清楚,模型差异比较主要走【Complete Compare】,它既能比较两个模型,也能比较模型和数据库或脚本文件;真正决定结果是否好读的,不只是最后那一下【Compare】,而是前面左右模型选择、比较层级、对象筛选和选项集有没有先定好。等差异树出来以后,再在【Resolve Differences】里看明细,并通过【Show Report】生成一份比较报告,这样整套动作才算完整。

  一、erwin怎么比较模型差异

 

  先把一句话说透,erwin里比模型差异,不是直接把两份文件丢进去就结束,而是要先把比较口径定住。官方文档说明,Complete Compare向导支持比较层级选择,也支持按对象类型和属性做过滤,所以真正顺手的做法,是先定比较范围,再看差异树,不要一上来就全量硬比。

 

  1、先打开【Complete Compare】

 

  如果当前已经打开其中一个模型,可以直接从【Actions】菜单进入【Complete Compare】;如果没有先开模型,也一样能启动比较。官方示例里就是先打开一个模型,再在向导里加载另一份erwin文件,让左右模型同时进入比较会话。

 

  2、把左右模型选准

 

  在向导里,先确认哪一份是基线模型,哪一份是目标模型。这个动作看似简单,其实很关键,因为后面差异树里的左右方向、迁移方向和生成脚本方向,都会跟这里的左右模型定义绑定。若这一步选反,后面看差异很容易越看越乱。这个判断依据来自官方对左右模型选择和实时更新比较的说明。

 

  3、在【Type Selection】里先收对象范围

 

  官方帮助明确提到,你可以按对象类别和属性建立自定义比较列表,例如只比较表、列、键、关系,而把绘图对象之类先排除掉。实际工作里,这一步特别值钱,因为模型差异最怕“什么都比”,先把你真正关心的对象层级收出来,后面差异树会清楚很多。

 

  4、常用口径要保存成选项集

 

  如果你经常做同类型比较,例如版本对版本、逻辑转物理前后比对,或者只看表结构和关系变化,那就不要每次重新勾一遍。官方说明,Complete Compare的选项可以保存为option set,后面再比较时可以直接加载,这样口径会更稳定,也更不容易因为人工勾选差异导致结果前后不一致。

 

  二、erwin模型差异结果怎么生成报告

 

  差异结果出来以后,别急着只看树状列表。官方帮助写得很直接,在【Resolve Differences】窗口里可以直接生成comparison report,这份报告本质上就是当前比较树的快照,用来把这次差异检查固定下来。换句话说,报告不是额外再跑一次比较,而是把你当前看到的差异结果整理成可输出的结果。

 

  1、先在【Resolve Differences】里把差异树看一遍

 

  这一步的重点不是逐条处理,而是先分清差异集中在哪一层。若差异主要堆在表和列,通常是结构变化。若大量差异落在关系、键和命名上,就要怀疑是不是版本重构或命名规则调整。官方说明比较结果支持查看并解决差异,所以报告生成前先把差异树层次看顺,会比导出后再回头解释更省力。

 

  2、用【Show Report】生成报告

 

  官方步骤很明确,在【Resolve Differences】对话框里点【Show Report】图标,会弹出【Report】窗口;然后选择显示格式并确认,报告就会按当前比较树生成。这里最重要的一点,是报告内容跟你当前比较树状态绑定,所以前面筛选没收好,报告也会跟着显得发散。

  3、报告先拿来做差异归类,不急着做结论

 

  比较报告最适合先回答三个问题,也就是这次新增了什么、删掉了什么、改动主要集中在哪些对象层级。因为官方对comparison report的定义就是compare tree的快照,所以它天然更适合做一次版本差异留档,而不是直接替代人工判断。这个用法是基于官方报告生成机制做出的更稳妥解读。

 

  4、要同步模型或数据库时再走后续动作

 

  官方实现指南说明,Complete Compare不只支持查看差异,还支持把选定差异移动到模型里,或者生成到数据库。也就是说,报告更适合做审阅和沟通,真正要做同步时,还是要回到比较结果里按对象决定是否迁移,不要把“报告生成完”当成“差异已经处理完”。

 

  三、erwin比较结果为什么总是看不清

 

  很多人觉得erwin差异结果太杂,根子通常不在工具本身,而在前面比较口径没有收住。官方文档已经给了几个很明确的抓手,也就是对象筛选、属性筛选和选项集保存。只要这几步没先做,后面的差异树和报告基本都会显得重。

 

  1、先全量比,再聚焦比

 

  如果你一开始就不确定问题在哪,可以先跑一次全量比较看总体分布;但真正进入审阅阶段时,更建议按表、列、键、关系这类对象重新做聚焦比较。官方示例明确提到可以只看选定对象级别的差异,这一步就是为了把结果从“全景”拉回“重点”。

 

  2、左右模型的角色要长期固定

 

  团队里若有人把旧版本放左边,有人把新版本放左边,久而久之报告阅读会非常别扭。更稳的做法,是统一规定左边始终放基线,右边始终放目标版本,这样差异方向、说明口径和后续脚本动作都会更顺。这个建议建立在官方Complete Compare左右模型选择机制之上。

 

  3、把常用比较方案固化下来

 

  官方既然支持option set,就说明它本来就是给重复比较场景准备的。实务里,版本发布前、变更评审前、数据库同步前,这几类场景完全可以各自保留一套比较方案。这样以后做差异报告时,大家拿到的就不再是一堆临时筛选结果,而是可复用、可追溯、口径一致的比较输出。

  总结

 

  erwin怎么比较模型差异,erwin模型差异结果怎么生成报告,真正有效的顺序不是直接点【Compare】,而是先用【Complete Compare】把左右模型、比较层级和对象范围定住,再到【Resolve Differences】里读差异树,最后用【Show Report】把当前结果固定成报告。只要前面的Type Selection和option set先收好,后面的差异结果通常就不会太乱,报告也更容易拿去做版本审阅和变更沟通。

135 2431 0251