2013-07-12 42 views
1

我想包括從包生成DDL到我們的每晚構建,所以我們不必檢入生成架構(和我們的ORM類之後從架構生成)。企業架構師:一個包的DDL的命令行生成

我看不到任何通過命令行執行此操作的方法,沒有生成包DDL UI。有沒有在EA文檔中的信息link

有沒有人找到一種方法來實現這一點?

回答

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

爲了遍歷封裝/元件結構,使用Package::PackagesPackage::Elements集合(可能還有Element::Elements,但數據庫模型通常不包含其他元素內的元素)。

對於將來的讀者,請注意Project類還包括類似的方法來生成代碼,WSDL和XSD。

相應的幫助文件頁面自動化和腳本下 - 企業架構師對象模型 - 引用(在EA 10.0.1007):

  • 庫包裝 - 倉儲類
  • 項目接口封裝 - 工程類
  • 庫包裝 - 包裝類
  • 庫包 - 元素類
  • 庫包 - 集合類