创建自定义管理器
创建自定义管理器
管理器事物可供数据模型用以控制某些功能。管理器事物包含数据库操作所需的必要功能,例如创建和更新数据库表。管理器事物还实施所有负责管理与关联对象模型相关的服务的所有事物形态。
这些管理器在启动点配置事物 (PTC.Factory.C_LaunchPointConfigurationThing_[发布版本]) 的“配置”页面上 ManagerConfigurationSettings 表中定义。
各预置管理器均配置默认的管理器事物。
您可以创建自定义管理器来管理 (创建和更新) 您自己的数据库表。使用默认管理器事物作为模型。
按以下说明可创建用以管理名为 customdata 的数据库表的管理器,其中包含两列:UID (自动生成的主键) 和 CustomProperty1 (字符串数据类型)。customdata 表初始化为两行。
1. ThingWorx Composer 中,创建新数据形态。
a. “名称”,输入 CustomData
b. “字段定义”下,单击“添加”
c. 选择以下字段:
“名称” - 输入 UID
“基本类型” - 选择 LONG
“是主键” - 选中此复选框。
d. 单击 以添加第一个字段,并定义另一个字段:
“名称” - 输入 CustomProperty1
“基本类型” - 选择 STRING
e. 单击 添加第二个字段。
f. 单击“保存”以保存新数据形态。
2. ThingWorx Composer 中,创建新事物模板。
a. “名称”,输入 CustomManagerThingTemplate
b. 单击“保存”以创建事物模板。
c. 对于“实现的事物形态”,搜索并添加 PTC.SCA.SCO.DBManagementThingShape
d. 单击“保存”以保存事物模板。
3. ThingWorx Composer 中创建新的事物。
a. “名称”中,输入 CustomManagerThing
b. 对于“基本事物模板” - 搜索并选择 CustomManagerThingTemplate (步骤 2 中创建的事物模板)。
c. “服务”下,覆盖 GetDBInfo 服务并添加以下代码:
var result = {
dbInfo: [{dataShapeName: "CustomData"}]
};
d. “服务”下,覆盖 InitData 服务并添加以下代码:
var infoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape({
infoTableName : "InfoTable",
dataShapeName : 'CustomData'
});

infoTable.AddRow({"CustomProperty1":"TestValue1"});
infoTable.AddRow({"CustomProperty2":"TestValue2"});
Things[me.GetDatabaseThingName()].Insert({
infoTable: infoTable,
dataShapeName: 'CustomData'
});
e. 单击“保存”以保存事物。
4. 在步骤 3 中创建的 CustomMangerThing 上的“服务”下,执行 CreateTables 服务。名为 customdata 的数据库表创建完成,其中包含两行。
5. 如果要定义外键,请参阅 添加或移除外键
6. 要更改 String 数据库列的长度,请参阅 设置字符串数据库列的长度
7. 要配置操作前或操作后的事件调度和验证,请参阅 操作前和操作后事件调度与验证