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字段中的內容