Sybase PowerDesigner Изменить многие (Найти / Заменить / Преобразовать) типы данных элемента данных - PullRequest
3 голосов
/ 07 июня 2010

У меня относительно большая концептуальная модель данных в PowerDesigner. После генерации физической модели данных и просмотра типов данных СУБД мне нужно обновить все типы данных (NUMBER / TEXT) для каждого элемента данных.

Я хотел бы либо выполнить поиск / замену в Концептуальной модели данных, либо как-то сопоставить различные типы данных при создании физической модели данных. Ex. Измените автоматическое преобразование текста -> Clob, в текст -> NVARCHAR (20).

Спасибо!

Ответы [ 3 ]

3 голосов
/ 09 июня 2010

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

для концептуальной модели:

Set mdl=ActiveModel

FOR EACH TAB IN MDL.Entities
   IF (not tab.isShortcut) THEN
      FOR EACH COL IN TAB.ATTRIBUTES
         IF COL.DATATYPE = "TXT" THEN
            COL.DATATYPE = "VA20"
         END IF
      NEXT
   END IF
NEXT

По сути, он будет смотреть на все атрибуты всех ваших сущностей, и если тип данных - «TXT» (текст), он изменит его на «VA20» (переменный символ (20)).

Для физической модели:

Set mdl=ActiveModel

FOR EACH TAB IN MDL.Tables
   IF (not tab.isShortcut) THEN
      FOR EACH COL IN TAB.COLUMNS
         IF COL.DATATYPE = "TEXT" THEN
            COL.DATATYPE = "NVARCHAR(20)"
         END IF
      NEXT
   END IF
NEXT
2 голосов
/ 18 декабря 2012

Если вы хотите изменить все CLOB на NVARCHAR (20), то еще один простой способ сделать это - убедиться, что вы находитесь на главной физической диаграмме и перейти к Model-> Columns ..., затем отсортировать список по типу данных, выделите все столбцы с типом данных, который вы хотите изменить. Измените первый в вашем выборе на новый тип данных, и все выделенные столбцы будут изменены

0 голосов
/ 07 ноября 2010

С макушки моей головы:

Откройте редактор метамоделей и измените отображение типов данных для используемой СУБД.

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

Я мог бы быть более конкретным (как именно это сделать), однако этот пост довольно старый. Так что лучше подождать отзывов автора вопроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...