Sybase Powerdesigner - как автоматически отформатировать именование PK и FK?

Sybase Powerdesigner - как автоматически отформатировать именование PK и FK?

Запустите скрипт для форматирования первичного и внешнего ключей, как этот формат

PK_TABLENAME

FK_PARENT_CHILD

пример

PK_Post

FK_Post_Comment

2 ответа

По крайней мере, для Foreign-Key вы можете создать обработчик события Initialize, чтобы определить имя из прикрепленных таблиц. Это будет работать при создании ссылки на диаграмме; возможно, нет, когда вы создаете его через список (поскольку таблицы еще не будут прикреплены).

Я оставляю как упражнение, связанное с именными коллизиями...

Для первичного ключа вы можете использовать обработчик события Validate в метаклассе Key и переименовывать ключ, когда он становится первичным (если его имя уже не начинается с "PK").

Следующее решение является сложным, но также очень гибким / не таким навязчивым. Это поможет вам начать:

В вашей модели PD создайте новую "Пользовательскую проверку с опцией автофикса" для объекта метакласса таблицы или столбца (или ссылки). (Неважно, кого вы выберете. Вы можете перебирать субобъекты в своем коде vbscript, используя вложенные циклы foreach (для каждой таблицы... / для каждого столбца...), см. Ниже:

нажмите на пункт меню модель / расширенные определения модели. Нажмите на сине-белый значок>===.

Дайте вашему новому "Расширенному определению модели" имя, например, mysql55-custom-001.

Необязательно: Нажмите на "Экспортировать определение расширенной модели", экспортируйте его как mysql55-custom-001.xem.

Нажмите на стрелку рядом с именем нового определения расширенной модели, чтобы сохранить его в подкаталоге по умолчанию.

Это расширенный диалог моделей:Расширенное диалоговое окно модели

Щелкните правой кнопкой мыши "Профиль", нажмите "Добавить метаклассы...", проверьте столбец.

Щелкните правой кнопкой мыши, выберите "New...", нажмите / выберите "Custom Check".

Теперь добавьте пользовательскую проверку в вашу модель. Вы должны определить скрипт проверки (в vbscript) и скрипт автофиксации.

Нажмите кнопку "Справка", нажмите "Определение сценария пользовательской проверки". Вы найдете пример кода, чтобы начать работу. Это будет выглядеть так Но вам, конечно, придется адаптировать код с низкоуровневыми функциями обработки строк vbscripts.

Другие вопросы по тегам