Как использовать VBScript в Powerdesigner?

В Powerdesign хотелось бы создать VBscript для переименования/преобразования следующих имен в powerdesigner: Концептуальная или Физическая модель.

Альтернативное/уникальное имя ключа:

UQ {table_name} {tablecolumnname} /////// Пример = UQ_Account_AccountNumber

Имя отношения:

FK_{table_name}_{reference_table_name}_{reference_column_name} //////Пример = FK_Account_AccountPhone_HomePhoneID

Проблема в том, как мне получить "table_column_name" и "reference_column_name"?


person 001    schedule 08.05.2009    source источник
comment
Полезно: blogs.conchango.com/danperrin/ архив/2008/07/11/   -  person 001    schedule 08.05.2009


Ответы (1)


Вот что я использовал, чтобы переименовать «дружественные» имена, а также имена ограничений всех моих ссылок. Может быть, это поможет вам.

Option Explicit
ValidationMode  = True
InteractiveMode = im_Batch

Dim mdl 
Set mdl = ActiveModel
If (mdl Is Nothing) Then
   MsgBox "There is no current Model"
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
   MsgBox "The current model is not a Physical Data model."
Else
   ProcessFolder mdl
End If

Private sub ProcessFolder(folder)
   Dim Tab, Key, Rel
   for each Rel in Folder.References
      Rel.ForeignKeyConstraintName = "FK_" + UCASE(Rel.ParentTable.Name) + "_" + UCASE(Rel.ParentKeyColumnList) + "_" + UCASE(Rel.ChildTable.Name) + "_" + UCASE(Rel.ForeignKeyColumnList)
      Rel.Name = "FK_" + UCASE(Rel.ParentTable.Name) + "_" + UCASE(Rel.ParentKeyColumnList) + "_" + UCASE(Rel.ChildTable.Name) + "_" + UCASE(Rel.ForeignKeyColumnList)
   next
end sub
person Calvin Allen    schedule 13.05.2009