如何修改EA中CUSTOM Table实例的默认列构造型为CUSTOM Col?
设置CUSTOM Table实例的默认列构造型为CUSTOM Col
方法一:在MDG Profile中配置默认构造型(推荐)
这是最规范的持久化解决方案,直接在你自定义的MDG Profile里定义关联规则:
- 打开你用于创建MDG的EA项目文件
- 找到自定义的
CUSTOM Table构造型(基于Class元类扩展) - 展开该构造型的元类定义,找到
ownedAttribute关联(对应数据库表的列) - 修改这个关联的默认构造型为你自定义的
CUSTOM Col - 重新导出MDG Profile并导入到EA中,之后新建
CUSTOM Table时,添加的列会自动应用CUSTOM Col构造型
方法二:用EA脚本批量处理或自动设置
如果暂时无法调整MDG Profile,可通过EA内置脚本实现需求:
1. 批量修改现有CUSTOM Table下的列
打开EA的「脚本窗口」(菜单>工具>脚本>脚本窗口),运行以下VBScript:
Sub SetCustomColStereotype() Dim currentPackage As EA.Package Set currentPackage = Repository.GetTreeSelectedPackage() Dim element As EA.Element Dim attr As EA.Attribute '遍历当前包及子包的所有元素 For Each element In currentPackage.Elements '判断是否为CUSTOM Table构造型 If element.Stereotype = "CUSTOM Table" Then '遍历该元素的所有属性(列) For Each attr In element.Attributes '为未设置目标构造型的列批量赋值 If attr.Stereotype <> "CUSTOM Col" Then attr.Stereotype = "CUSTOM Col" attr.Update() End If Next End If Next MsgBox "批量设置完成!" End Sub
2. 自动为新添加的列设置构造型
将脚本绑定到EA的事件触发器,实现新建列时自动应用构造型:
- 打开EA「设置」>「运行时行为」>「事件」
- 选择
AttributeOnNew事件,添加逻辑:判断父元素是否为CUSTOM Table,若是则将新属性的构造型设为CUSTOM Col
方法三:手动批量替换(临时应急)
针对少量实例的快速处理方式:
- 选中目标
CUSTOM Table下的所有列(按住Ctrl多选) - 在属性窗口的「构造型」下拉框中选择
CUSTOM Col,批量应用设置
内容的提问来源于stack exchange,提问作者dmeu
相关产品推荐
相关产品推荐

