Автоматическое переименование столбцов в PowerDesigner LDM / PDM - PullRequest
0 голосов
/ 24 февраля 2010

Я хочу переименовать столбцы в PowerDesigner LDM / PDM в соответствии с состоянием основного флажка. Если быть более точным, я хочу, чтобы столбец был переименован из «oldname» в «id_oldname», если установлен флажок «Primary».

Я думаю, что это возможно с помощью специального скрипта проверки / автофиксации, такого как в "MSSQLSRV2008 :: Profile \ Column \ Custom Checks \ Identity Seed and Increment validity", но я действительно не эксперт по VBScript:)

Есть ли простой способ добиться этого в PowerDesigner 15?

Ответы [ 3 ]

1 голос
/ 03 марта 2010

Решение довольно простое. К сожалению, не безупречный, потому что PowerDesigner не может выполнить обработчик событий в некоторых случаях (по неизвестной причине). Небольшой VBScript ниже должен быть в состоянии справиться с этим. Файл расширенного определения модели должен быть создан и присоединен к проекту. Этот сценарий является обработчиком события Validate для метакласса Table (хотя это скорее автофикс, чем проверка).

Function %Validate%(obj, ByRef message) 
   ' Implement your object validation rule on <parent> here 
   ' and return True in case of success, False otherwise with a message 
   dim col    
   for each col in obj.columns      
      if col.Primary = true then 
         if left(col.name,3) <> "id_" then 
            With col 
               .name = "id_" & .name 
               .SetNameAndCode .Name, "", True 
            End With 
         end if 
      else 
         if left(col.name,3) = "id_" then 
            with col 
               .name = right(.name, len(.name)-3) 
               .SetNameAndCode .Name, "", True 
            end with 
         end if 
      end if 
   next 
   %Validate% = True
End Function 

Благодарность принадлежит Ричарду Кьеру, который предоставил исходный код. Спасибо, Ричард.

0 голосов
/ 28 ноября 2016

Существует гораздо более простой способ для этого.

  1. Перейти к базе данных - создать базу данных - сохранить созданный файл sql.
  2. Используйте текстовый редактор для переименования или любых необходимых изменений.
  3. Перейти к базе данных - обновить модель из базы данных - указать созданный файл sql.

Инструмент показывает обновленную модель.

0 голосов
/ 24 февраля 2010

Можно написать VBScript для траления объектной модели, поиска столбцов, являющихся членами первичных ключей и переименования их.

Или:

  • Можно вызвать список столбцов (Щелкните правой кнопкой мыши на пакете или модель, список -> столбцы)

  • Нажмите control-U (или нажмите на значок воронки и карандаша) Настроить столбцы и фильтр.

    • Найдите запись первичного ключа в столбце «Заголовок столбца».
    • В выражении фильтра установите для выражения значение True.
    • Проверьте столбец U для записи первичного ключа и убедитесь, что нет другие строки отметили это.
    • Нажмите Применить.

Теперь вы должны увидеть все столбцы, которые являются частью ключей. Вы также можете фильтровать с подстановочными знаками для несовместимых имен. Вы также можете выбрать несколько строк и переименовать их одновременно.

...