3

我在 PowerDesigner 中有一个相对较大的概念数据模型。生成物理数据模型并查看 DBMS 数据类型后,我需要更新每个数据项的所有数据类型(NUMBER/TEXT)。

我想在概念数据模型中进行查找/替换,或者在创建物理数据模型时以某种方式映射到不同的数据类型。前任。将 Text -> Clob 的自动转换更改为 Text -> NVARCHAR(20)。

谢谢!

4

3 回答 3

3

我不知道“标准”查找和替换,但这将是一样的。您是否曾经针对您的一个模型运行过 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
于 2010-06-08T23:48:12.910 回答
2

如果要将所有 CLOB 更改为 NVARCHAR(20),另一种简单的方法是确保您位于主物理图上并转到 Model-> Columns... 然后按数据类型对列表进行排序,突出显示所有列使用您要更改的数据类型。将选择中的第一个更改为新的数据类型,所有突出显示的列都将更改

于 2012-12-17T22:33:40.807 回答
0

从我的头顶:

打开元模型编辑器并更改您正在使用的 DBMS 的数据类型映射。

您可以在 Sybase 提供的元模型定义文件中执行此操作,或者您可以“克隆”(另存为...)或扩展它(并保持原始文件不变——这是推荐的方式)

我可以更具体(确切地说是如何做到这一点),但是这篇文章已经很老了。所以我最好等待问题作者的反馈。

于 2010-11-07T13:04:24.637 回答