自定义信息内容和访问 > 创建自定义管理器
创建自定义管理器
数据模型使用管理器事物来控制某些功能。管理器事物包含数据库操作所需的必要功能,例如创建和更新数据库表。管理器事物还实施所有负责管理与关联对象模型相关的服务的所有事物形态。
这些管理器在启动点配置事物 (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. “基本事物模板”中,选择任意事物模板。例如 GenericThing
c. 对于“实现的事物形态”,搜索并添加 PTC.SCA.SCO.DBManagementThingShape。如果管理器要调用创建服务,还应搜索并添加 PTC.SCA.SCO.ServiceConfigurationThingShape
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({"CustomProperty1":"TestValue2"});
Things[me.GetDatabaseThingName()].Insert({
infoTable: infoTable,
dataShapeName: "CustomData"
});
e. 单击“保存”以保存事物。
4. 注册自定义管理器。
a. 导航到启动点配置事物 (PTC.Factory.C_LaunchPointConfigurationThing_[ReleaseVersion])。
b. “配置”下,单击 ManagerConfigurationSettings 配置表的“添加”
对于“名称”,请输入自定义管理器的名称,例如 CustomDataManager
对于“值”,请搜索并选择于步骤 3 中创建的自定义管理器事物。
c. 单击“添加”将自定义管理器添加到配置表中。
d. 单击“保存”以保存对启动点配置事物的更新。
5. 针对在步骤 3 中创建的 CustomMangerThing,在“服务”下,执行 CreateTables 服务。名为 customdata 的数据库表创建完成,其中包含两行。
6. 如果要定义外键,请参阅 添加或移除外键
7. 要更改 String 数据库列的长度,请参阅 设置字符串数据库列的长度
8. 要配置操作前或操作后的事件调度和验证,请参阅 操作前和操作后事件调度与验证