1.完全新建一个模型场景
2.在已有的模型上增加属性/修改属性场景
今天讲一下在已有模型上修改属性的场景:
AS-IS: data字段为string类型,用来存放发送给ERP的xml内容
TO-BE:因为数据量的扩大,string类型已经无法满足,需要改为BLOB字段
修改模型:
AS-IS:
@GeneratedProperty(
name = "data",
type = String.class,
supportedAPI = SupportedAPI.PUBLIC,
javaDoc = "发布SAP数据",
constraints = @PropertyConstraints(
required = true,
upperLimit = 10000
)
),
TO-BE:
@GeneratedProperty(
name = "data",
type = String.class,
columnProperties = @ColumnProperties(columnName = "data",
columnType = ColumnType.INLINE_BLOB
),
supportedAPI = SupportedAPI.PUBLIC,
javaDoc = "发布SAP数据不限制数据长度",
constraints = @PropertyConstraints(
required = true
)
),
修改了模型的字段,我们定义新的模型关联新的表
tableProperties = @TableProperties(
tableName="GPPTOSAPINFO_NEW",
oracleTableSize = OracleTableSize.HUGE
)
然后执行模型相关步骤,生成新表,详细步骤:
模型修改
1)将源代码:模型文件.java模型类放到src对应的src/ext/source/xx/xx目录下;
2)在windchill shell中执行命令生成模型对应的java类:
ant -f bin/tools.xml class -Dclass.includes=ext/source/xx/xx/*
3)将D:\ptc\Windchill_10.0\Windchill\src_gen\ext\source\xx\xx目录下模型对应带下划线的java类copy到src对应的src/ext/source/xx/xx目录下;
4)在windchill shell中执行命令生成对应的SQL脚本
ant -f bin/tools.xml sql_script -Dgen.input=ext.source.xx.xx.*
5)widnchill shell切换到cd db/sql3目录,用wcadmin用户连接SQLPLUS
widnchill shell中输入>sqlplus user/pwd@数据库实例
SQLPLUS执行删除相关的索引>@Drop_pkg_sap_Index.sql
SQLPLUS执行创建表的SQL>@Make_pkg_sap_Table.sql
SQLPLUS执行创建索引的SQL>@Make_pkg_sap_Index.sql
6) 检查codebase/ext/source/xx/xx目录下是否生成新的ser文件
将相关代码部署到codebase目录即可。
查询BLOB字段的时候,只需要用对象.getData();就可以获取BLOB字段中的内容