2013-07-12 2 views
1

Я хотел бы включить генерацию DDL из пакетов в наши ночные сборки, так что нам не нужно регистрировать схему генерации (и классы ORM мы генерировать из схемы впоследствии).Enterprise Architect: Генерация командной строки DDL для пакета

Я не вижу никакого способа сделать это через командную строку без создания DDL-интерфейса Generate Package. В документации EA нет информации link

Кто-нибудь нашел способ автоматизировать это?

ответ

1

Да, это вполне осуществимо с использованием API EA.

Так называемая «объектная модель EA» доступна из EA (скриптов), а также из .NET и Java API (в то время как «модель надстройки» доступна только через .NET). Взаимодействие с хранилищем EA основано на двух классах: Repository и Project. Таким образом, для командной строки вы должны были бы написать программу, которая

  1. подключается к соответствующему хранилище EA - Repository::OpenFile
  2. получающего интерфейс Project - Repository::GetProjectInterface
  3. получает пакеты и элементы - Repository::Get[Package/Element]By[ID/Guid]
  4. генерирует DDL - Project::Generate[Package/Element]DDL

для того, чтобы пересечь структуру пакета/элемента, использовать Package::Packages и Package::Elements (и, возможно, Element::Elements, но модели баз данных обычно не имеют элементов внутри других элементов).

Для будущих читателей обратите внимание, что класс Project также включает аналогичные методы для генерации кода, WSDL и XSD.

Соответствующие страницы файл справки находятся под автоматизации и сценариев - Enterprise Architect Model Object - Reference (в EA 10.0.1007):

  • Repository Пакет - Repository класса
  • интерфейс Project Package - Проект класса
  • Repository Пакет - класс Пакет
  • Repository пакет - элемент класса
  • Repository Пакет - класс Коллекция
Смежные вопросы