添加或移除索引字段
索引字段可用于优化数据库搜索。此类字段被定义为数据库表中相关列的约束。
添加索引字段
要将索引字段添加到现有数据库表中:
1. 浏览至与数据库表相关的 ThingWorx 实体的相应管理器。这些管理器在启动点配置事物 (PTC.Factory.C_LaunchPointConfigurationThing_[发布版本]) 的“配置”页面上的 ManagerConfigurationSettings 表中指定。例如,Operator Advisor 实体的管理器为 PTC.SCA.SCO.DefaultProductionOrderManager。
2. 在“服务”下,针对要添加索引字段的实体,查找并覆盖 Get<entity>DBInfo 服务。例如,要向作业单的数据库表中添加索引字段,请查找并覆盖 GetJobOrderDBInfo 服务。
3. 在脚本编辑器中,向下滚动至要向其添加索引字段的数据形状的条目。
4. 添加具有以下属性的数据形状的 indexedFields 数组:
◦ name -(必需)列的名称。
◦ unique - 指定列是否必须具有唯一值。
◦ identifier - 数据库中实体的名称。如果尚未指定,则系统会自动以 <表名>_<列名>_idx 格式生成该值。如果已指定,则无论对于指定值,还是任何自动生成的值,该值都必须具备唯一性。该值的最大长度为数据库所允许的最大标识符长度。
5. 单击“保存”以保存对服务所做的更改。
6. 浏览至 PTC.SCA.SCO.DatabaseManager 事物。
移除索引字段
要移除索引字段:
1. 导航到为您的系统配置的数据库事物,例如 PTC.SCA.SCO.PostgresDatabase 或 PTC.SCA.SCO.MSSQLDatabase。
2. 在“服务”下,执行具有以下输入的 RemoveIndex 服务:
◦ dataShapeName - 要从中移除索引字段约束的数据库表的数据形状。
◦ fieldName - 要从中移除索引字段约束的数据形状的字段。
◦ dbInfo - 欲移除索引字段约束的 JSON 说明。必须提供在定义索引字段的 Get<entity>DBInfo 服务中所指定的相同 identifier (如果有) 和 name 信息。
3. 单击“执行”。
4. 导航到定义了索引字段的
Get<entity>DBInfo 服务,并从中移除索引字段定义。如果不移除此类定义,则下次
运行同步服务时,会将索引字段添加回数据库。
例如,要从 MyObject 数据形状中名为 WorkDefinitionUID 的字段内移除带有指定 identifier 的索引字段约束,请为输入参数指定以下内容:
• dataShapeName - MyObject
• fieldName - WorkDefinitionUID
• dbInfo -
{
"identifier":"myobject_workdefinitionuid_idx"
"name":"WorkDefinitionUID",
}