Как использовать VBScript в Powerdesigner? - PullRequest
2 голосов
/ 08 мая 2009

В 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"?

1 Ответ

2 голосов
/ 13 мая 2009

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

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
...