有时候一些变态用户就提出一些变态需求,我们也不得以还是得做改变。
一般情况当然不会出现,但是居然我们还是做了。以下是以前在项目中亲自实例:
我们将在本文中扩展ChangeRecord2的备注长度,即ECA中产生的对象中需要填写的备注。默认只有600个字符,
我们将扩展到oracle支持的最大长度4000个字符。请注意需要安装info model模块。
1.在Windchill Shell中执行如下命令
infoReport wt.change2.ChangeRecord2
2.找到命令执行后产生的文件,打开
C:\ptc\Windchill_9.1\Windchill\temp\change2.ChangeRecord2.out
3.搜索WTIntrospector.UPPER_LIMIT, 定位至description 这个是数据库中的字段
我们看到限制为200, 找到如下定义WTIntrospector.DEFINED_AS : wt.change2.RelatedProductData.description(第5步有用处)
4.创建文件夹C:\ptc\Windchill_9.1\Windchill\wtCustom\wt\change2
5.创建文件change2Model.properties(一定注意命名方式,否则会不成功),内容如下(注意RelatedProductData来自第3步)
RelatedProductData.description.UpperLimit=4000
6.执行命令如下:
ant -f C:\ptc\Windchill_9.1\Windchill\bin\tools.xml custom_column -Dgen.input=wt.change2.*
7.当看到如下则命令成功, 一定要查看生成的SQL是否正确
8.在C:\ptc\Windchill_9.1\Windchill\temp\change2.ChangeRecord2.out
这个文件中查找getDescendentInfos(), 我们发现没有依赖的类
9.备份ChangeRecord2数据表(注意一定要commit)
create table changerecord2_bak as select * from changerecord2
commit;
10.执行sql
C:\ptc\Windchill_9.1\Windchill\db\sql3\wnc\Foundation\wt\change2\ create_ChangeRecord2_Table.sql
C:\ptc\Windchill_9.1\Windchill\db\sql3\wnc\Foundation\wt\change2\ create_ChangeRecord2_Index.sql
11.部署
拷贝C:\ptc\Windchill_9.1\Windchill\codebase\wt\change2下修改过的ser文件以及执行sql
至此,全部完毕, 清Tomcat以及Task缓存,重启系统 !
云淡天晴
2012/09/06
jinbaotao@126.com