PowerDesigner建模时name和code互换

来源:互联网 发布:淘宝玩具店 编辑:程序博客网 时间:2024/05/19 03:42

       用PowerDesigner生成数据库脚本语言时我们经常发现自己或者其他人把name列和code列的内容


写反了(如下图):

计算机生成了可选文字:C了e已tetableTstUden七InfO学号学生姓名性别专业年级班级工ntva二cha二《50va二c吮a二(弓)va二c匕a二(50)va二c吮a二(二O)va二c匕a二(生O)PKTSTUDENTINFOprlmaryna七null,no七nUllno七二二1工,no七null,no七null,no七null,COn3tra工n七keycl二:七e二edl学号》

      这样就没办法生成脚本语言,而改起来有非常的麻烦繁琐,难道我们要放弃自己的劳动成果或者不辞


辛苦的去一个一个改?如果是我们设计软件是否会考虑到这个问题?又会怎么解决呢?刚开始只是想有没


有可以直接让两列进行互换的功能,可是发现没有。想想不应该啊,这应该是一个很常见的问题,其他人


肯定都遇到过,后来上网搜了搜,发现跟我一样“倒霉”的孩子还是挺多的,而且PowerDesigner也有相


应的解决方法,下面分享给大家:

 

思考:

     

     我们肯定会想到,PowerDesigner生成脚本语言的肯定是根据code列来生成的。网上大牛们的解释


是:PowerDesigner是如何成脚本。很多对象都既包含一个代码变量(codevariable)又包含一个生成


代码变量(generated codevariable)。代码(code)变量是在对象属性窗口中定义的属性代码,而生


成代码(generatedcode)变量则是根据对象的属性代码和生成选项计算而产生的,如果代码(Code)


的长度超过了DBMS中限制的最大长度,则会自动截取code产生生成代码(generatedcode)。而


PowerDesigner在默认情况下生成脚本既不是采用name也不是code,而是代码(code)生成的“生成


代码”(generatedcode)作为对象的名称。而通常情况下由于code本身没有超过DBMS规定的最大长


度,所以会给人一种错误的认识,认为脚本生成使用的是code作为名称。

       

       虽然我们的理解不太准确,但方向是对的。那我们是不是可以让PowerDesigner不根据code列或者


generatedcode生成脚本,而是根据name列呢?答案是肯定可以的。


解决方案:


      1.  选择Database->Edit currentdatabase,选择script->object->column->add

计算机生成了可选文字:aseSQL八叮叨here11GeneralScnpt口Sql口objects亩白Table内.f气Column'}Name,Comment:一.Pe而lsslonAddAddColnChckColumnCammentConstNameCreateDefineCo!n汁ck尸七一~一丫V日IUe二动撰撰撰攀攀攀黔


      2.  Value剪辑框中的就是生成表是列的代码模版,我们只需要将COLUMN换为COLNNAME,也就是


将“%20:COLNNAME%”换为“%20:COLNNAME%”,然后点击确定,弹出确认窗口,点击“是”表


示保存该修改。这里20指的是列的生成代码最大长度是20,如果当我们发现我们的列生成的时候被截取


了,就可以修改这里在增大列的最大长度。


       3.  重新选择Database->database Generation,生成新的脚本语言(记得取消Check Model


项)。问题解决了。


计算机生成了可选文字:C艺eatetableTS七Uden七工nfo5七议工d工n七S七公汀alr.eVa二Cha二seXVa二C吮a二Depa二七rr.e,七va二c匕a二吕二adeVa二C吮a二Cl己55e5v己二C匕己二COn3traintF义:5丁UD三N丁工NFCno七null,(50)no七null,(幻not竺ul二,(SQ)no七又二l二,(10)not几ull,(10)no七nul二,prllna:ykeycl二::e二ed(学号)

 

      4.  如果你的表名称也写反了,那么相同的方法就可以解决:Database->Editcurrent database,选择


Script->Object->Table->Create将%TABLE%换为%TNAME%。


总结:


        问题不大,只不过我们大部分时间都会选择一个一个去改,可是那些大牛们真的没有我们那么“勤


快”,所以多站在巨人的肩膀上,本来很揪心的问题,二分钟就解决了。

1 0
原创粉丝点击