我想将包中的DDL生成包含在我们的每晚构建中,这样我们就不必签入生成模式(以及我们之后从模式生成的ORM类)。
如果没有Generate Package DDL UI,我无法通过命令行看到任何方法。 EA文档link
中没有任何信息有没有人找到自动化的方法?
答案 0 :(得分:1)
是的,使用EA的API是完全可行的。
所谓的“EA对象模型”可以从EA(脚本)内部以及.NET和Java API中获得(而“插件模型”只能通过.NET获得)。与EA存储库的交互基于两个类Repository
和Project
。因此,对于命令行,您需要编写一个程序
Repository::OpenFile
Repository::GetProjectInterface
Repository::Get[Package/Element]By[ID/Guid]
Project::Generate[Package/Element]DDL
为了遍历包/元素结构,请使用Package::Packages
和Package::Elements
集合(可能还有Element::Elements
,但数据库模型通常不包含其他元素内的元素)。
对于未来的读者,请注意Project
类还包括生成代码,WSDL和XSD的类似方法。
相关帮助文件页面位于自动化和脚本 - Enterprise Architect对象模型 - 参考(EA 10.0.1007)中: