Enterprise Architect:为包提供DDL的命令行生成

时间:2013-07-12 12:51:30

标签: command-line ddl enterprise-architect

我想将包中的DDL生成包含在我们的每晚构建中,这样我们就不必签入生成模式(以及我们之后从模式生成的ORM类)。

如果没有Generate Package DDL UI,我无法通过命令行看到任何方法。 EA文档link

中没有任何信息

有没有人找到自动化的方法?

1 个答案:

答案 0 :(得分:1)

是的,使用EA的API是完全可行的。

所谓的“EA对象模型”可以从EA(脚本)内部以及.NET和Java API中获得(而“插件模型”只能通过.NET获得)。与EA存储库的交互基于两个类RepositoryProject。因此,对于命令行,您需要编写一个程序

  1. 连接到相关的EA存储库 - Repository::OpenFile
  2. 检索项目界面 - Repository::GetProjectInterface
  3. 检索包和元素 - Repository::Get[Package/Element]By[ID/Guid]
  4. 生成DDL - Project::Generate[Package/Element]DDL
  5. 为了遍历包/元素结构,请使用Package::PackagesPackage::Elements集合(可能还有Element::Elements,但数据库模型通常不包含其他元素内的元素)。

    对于未来的读者,请注意Project类还包括生成代码,WSDL和XSD的类似方法。

    相关帮助文件页面位于自动化和脚本 - Enterprise Architect对象模型 - 参考(EA 10.0.1007)中:

    • 存储库包 - 存储库类
    • 项目界面包 - 项目类
    • 存储库包 - 包类
    • 存储库包 - 元素类
    • 存储库包 - 集合类