Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / PowerDesigner15. Как программно удалить из репазитория модель / 3 сообщений из 3, страница 1 из 1
29.05.2012, 15:25
    #37816477
Max81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner15. Как программно удалить из репазитория модель
Как программно удалить из репазитория модель. При вызове метода delete класса RepasitoryModel объект исчезает из списка, но при обновлении списка модель опять появляется, т.е. физического удаления не происходит
...
Рейтинг: 0 / 0
01.06.2012, 12:11
    #37821221
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner15. Как программно удалить из репазитория модель
Max81Как программно удалить из репазитория модель. При вызове метода delete класса RepasitoryModel объект исчезает из списка, но при обновлении списка модель опять появляется, т.е. физического удаления не происходит

Metamodel Objects Help / RepositoryModel / ModelDelete()
Performs an object logical deletion. References on the object remains valid but the object will be flagged deleted on will be detached from all other objects. Child objects will also be recursively deleted.

DeleteVersion() As Boolean
Deletes a version of a repository document. To remove completely a document from the repository, the user needs to remove all its versions.


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
' Check the repository connection
Dim repository, connected, deleteTargetFolder, deleteTargetModel

deleteTargetFolder = "TempFolder"
deleteTargetModel = "temp"

Set repository = RepositoryConnection
connected = repository.Connected
If not connected then
      connected = repository.Open()
End If
   
If connected then
   ' Begin the recursive scan
   ScanRepository repository
   ' Refresh the repository browser
   repository.Refresh
Else
   ' Log message
   MsgBox "The repository needs to be connected or default connexion should be operational"
End If

' The recursive procedure that scan folders and extracts models
Sub ScanRepository (folder)
   ' check the parameters
   If folder is Nothing then
      Exit Sub
   End If
  
   ' Log message in the output
   output "Scanning the folder " + folder.Name
   ' Recursive call on sub folders
   Dim subObject
   For Each subObject in folder.ChildObjects
      ' recurse or extract repository sub-package
      If subObject.IsKindOf(PdRMG.Cls_RepositoryFolder) then
         ScanRepository subObject
      else
         If subObject.IsKindOf(PdRMG.Cls_RepositoryDocument) or subObject.IsKindOf(PdRMG.Cls_RepositoryModel) then
            output "Document:" & subObject.name
            if folder.name = deleteTargetFolder and subObject.name = deleteTargetModel Then
               output "Model " & subObject.name & " deleting..."
               subObject.DeleteVersion() '<<<<<<<<<<<<<<<<
            end if
         end if
      End If
   Next
End Sub
...
Рейтинг: 0 / 0
04.06.2012, 15:46
    #37824461
Max81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PowerDesigner15. Как программно удалить из репазитория модель
Когда больше одной версии, сколько бы циклов не запускал на удаление не получается удалить. Если версия одно, так удаляет
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / PowerDesigner15. Как программно удалить из репазитория модель / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]