Автоматизируйте резервное копирование данных Enterprise Architect - PullRequest
1 голос
/ 08 декабря 2011

Мы используем Enterprise Architect для наших моделей и используем базу данных для сохранения всех своих данных.Теперь нам необходимо ежедневно «сбрасывать» данные, чтобы мы могли хранить их в нашей системе управления конфигурацией.Есть ли простой способ сделать это?

Ответы [ 2 ]

2 голосов
/ 09 декабря 2011

Для этого нет специальной встроенной функции. У EA есть несколько вариантов контроля версий, но они основаны на пакетах, а не на всем проекте.

(Кстати, использование внешней системы управления версиями в сочетании с проектом EA, хранящимся в базе данных, не рекомендуется, поэтому не начинайте с этого пути, если вы не абсолютно уверены в том, что делаете, вместо этого используйте базовые показатели EA. )

Создание дампа проекта легко выполнить вручную с помощью функции «Перенос проекта» (в разделе «Инструменты - Управление данными»). Это позволяет вам перенести весь проект из базы данных в файл .EAP (а также три другие комбинации). Процесс обычно занимает меньше минуты.

Эта функция также доступна в API EA (Project :: ProjectTransfer), поэтому, если вы хотите автоматизировать ее, вы можете сделать это. В предыдущей работе я разработал и внедрил решение для управления версиями, в котором это был один компонент, так что это можно сделать, и это не так уж сложно.

0 голосов
/ 17 февраля 2017

Это может быть старым, но для документирования некоторого примера кода VBScript от Geert Bellekens

sub main

Dim CurrentDate
Currentdate = Replace(Date, "/", "-") 

dim repository
dim projectInterface
set repository = CreateObject("EA.Repository")

Dim FileName
Filename = "EA_Export.eap"

dim LogFilePath
LogFilePath = "C:\EA\EA_to_EAP.log"

dim TargetFilePath
TargetFilePath = "C:\EA\EA_Export.eap"

dim eapString
eapString = "EAConnectString:DB_EA_PROD --- DBType=1;Connect=Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB_EA_PROD;Data Source=BESQLCP;LazyLoad=1;"

'get project interface
set projectInterface = repository.GetProjectInterface()

projectInterface.ProjectTransfer eapString, TargetFilePath, LogFilePath

'repository.CloseFile
repository.Exit 

Dim newFilename 
newFilename = "C:\EA\EAP_Files\EA_Export_" & CurrentDate & ".eap"

Dim Fso
Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
Fso.MoveFile "C:\EA\EA_Export.eap", newFileName

end sub

main

Ссылка от: http://sparxsystems.com/forums/smf/index.php/topic,37635.msg235329.html#msg235329

...