【发布时间】:2026-02-07 03:55:02
【问题描述】:
在从物理模型或更好的逻辑模型中提取的 Erwin 生成的 ddl 脚本中生成标题注释的最实用、自动化的方法是什么? . Nice 将在“MODELINFO”sql 表中具有与 ddl 相同的信息,除了标题。
【问题讨论】:
在从物理模型或更好的逻辑模型中提取的 Erwin 生成的 ddl 脚本中生成标题注释的最实用、自动化的方法是什么? . Nice 将在“MODELINFO”sql 表中具有与 ddl 相同的信息,除了标题。
【问题讨论】:
@matz3。听起来您在谈论定义 erwin 文档所称的“前后脚本”。
根据您使用的版本,在 erwin Data Modeler 中有几种方法可以做到这一点。在我的企业中,我们使用的是 2021 R1 版本; YMMV。我们使用前置脚本和后置脚本将 Liquibase 变更集包装器(格式化为 SQL cmets)放置在每个表创建或删除的周围,并强制执行对象创建/删除顺序的某些模式。
Macros 可用于在整个模型中引用各种 OOTB 属性值,例如您提到的那些,并将它们拉入您的“前向工程”生成的 DDL 中的 cmets。
对于在对象层次结构的各个级别(模型、主题区域、模式、表、列、关系、索引等)的属性中尚不可用的属性,您可以使用扩展注释(并非对所有对象都可用) 来创建一些自定义属性,或者您可以创建用户定义的属性(UDP,同样,并非对所有对象/类都可用)。
一旦您构建了属性并分配了值或找到了要包含在 DDL 注释中的值的宏,您将调用 Template Editor(操作 > 正向工程师 > 模板)来修改 @987654323 @ 构建 DDL 或 Script Template Editor(模型 > 脚本模板),我更喜欢使用它来提高模型用户的可见性。
使用脚本模板,您可以定义类型(模型级别或表级别)和生成为(创建前或创建后)。在“代码”选项卡中,您可以调用 Macro Toolbox 来访问所有预配置的宏,以引用模型中其他地方的对象属性。
一旦您按照您想要的方式构建了所有这些,您可以将此模型作为模板保存在您的 erwin Mart 存储库中,然后使用这些内置的 pre-/post- 从该模板构建所有未来的模型脚本功能。
This guide 详细介绍了如何使用 erwin 的 TLX 脚本语言。对于经验丰富的 erwin DM 用户,TLX 被认为是一项高级功能,如果您无法从脚本模板编辑器 GUI 中获得所需的功能,则可以使用此功能。
我不确定您关于 MODELINFO 表的问题的最后一部分;您是在引用后端 erwin Mart 存储库数据库中的表,还是在目标数据库中更新的表?对于第二种情况,您可能会使用 TLX 生成引用前脚本文本字符串的 INSERT 语句。
【讨论】: