1

我们正在使用 Erwin 7.x 对我们的数据库进行建模。当我们需要处理它的多个版本时,这个过程变得非常痛苦——erwin 格式是二进制的,不能自动合并。

所以,我所做的就是将模型导出到一个 XML 文件,并使用 XSLT 对其进行清理。一切看起来都很好,直到我发现关系有问题 - 从历史上看,我们不会命名我们的关系并将其留给 erwin,因此名称是 R_1、R_2 等等。打开 XML 后,erwin 开始生成重复的关系名称。

解决方案是自己指定名称,这很好,应该首先完成。现在的问题是,我们不相信以后不会有更多警告。

现在问题来了:有没有人尝试过长时间通过 XML 专门使用 erwin?

4

3 回答 3

1

我已经对 XML 进行了广泛的 erwin 工作,出于以下原因,我不建议尝试调整 XML 导出:

  • 这样做需要您非常熟悉 ERwin 元模型。
  • 元模型从一个版本更改为下一个版本。因此,当您离开版本 7 时,您将不得不重做您的工作。
  • 导出生成的 XML 不是 XSD,因此不是等效的 XML。它不是对数据的描述,而是对 ERwin 模型的 XML 描述。

我可以用其他原因填充页面,结果是调整导出的 xml 不是一个好主意。如果您必须生成数据或 ERwin 模型的 XML 表示,请使用 ERwin API 将信息移入和移出 ERwin 模型。

最初的问题似乎是模型的版本管理之一。如何跟踪同一模型的不同版本之间的更改以及如何识别差异。

有许多不同的方法可以做到这一点:

  • 使用 ModelMart(我猜他们现在称它为模型管理器)。这是 CA 提供的存储库收费。它提供了跟踪模型版本、拍摄快照和比较差异、回滚到不同版本、查看谁对模型进行了哪些更改以及提供存储库范围的报告功能的能力。它与 ERwin 完全集成。然而,许可证并不便宜。
  • 使用一种优秀的开源管理工具(例如 SubVersion 或 Git)来维护物理 ERwin 文件的版本。可以跟踪版本,使用 ERwin 的完整比较功能(检查 2 个不同版本到两个不同文件)。这些工具未与 ERwin 集成,因此必须手动完成提交,这可能会导致错误(未提交的更改)。
  • 手动维护版本。这提供了与上述相同类型的功能,但比上述更容易出错,因为很容易忘记执行“另存为”而不是保存。

我希望这个帮助能祝你好运

于 2015-06-25T01:38:14.427 回答
0

我没有尝试编辑/清理 Erwin 生成的 XML。但是,这就是我们在组织中的做法:如果有一个 Erwin(逻辑/物理)模型 (v1),并且它对应的物理数据库不同步,那么我们通过逆向工程创建另一个 Erwin 模型 (v2) 副本物理数据库,然后我们利用 Erwin 工具中的“完整比较”选项来比较和同步 v2 到 v1 的更改。希望这可以帮助。

于 2014-11-05T01:05:04.297 回答
0

我已经使用 XML 方法一年了,没有发现任何问题。我只需要给新的关系起一个独特的名字。

我们不会为那个项目升级 ERWIN,所以这里没有定时炸弹。

于 2015-06-25T02:22:31.543 回答