Adición o eliminación de campos indexados
Los campos indexados se utilizan para optimizar la búsqueda en la base de datos. Se definen como una restricción en la columna relacionada en la tabla de base de datos.
Adición de un campo indexado
Para añadir un campo indexado a una tabla de base de datos existente:
1. Navegue hasta el administrador adecuado para la entidad ThingWorx relacionada con la tabla de la base de datos. Estos administradores se especifican en la tabla ManagerConfigurationSettings de la página Configuración de la cosa de configuración del punto de inicio (PTC.Factory.C_LaunchPointConfigurationThing_[versión]). Por ejemplo, el administrador de las entidades de Operator Advisor es PTC.SCA.SCO.DefaultProductionOrderManager.
2. En Servicios, busque y sustituya el servicio Get<entity>DBInfo para la entidad a la que se está añadiendo el campo indexado. Por ejemplo, para añadir un campo indexado a la tabla de base de datos para órdenes de trabajo, busque y sustituya el servicio GetJobOrderDBInfo.
3. En el editor de scripts, desplácese hacia abajo hasta la entrada de la definición de datos a la que desea añadir el campo indexado.
4. Añada una matriz indexedFields para la definición de datos, con las siguientes propiedades:
name: (obligatorio) nombre de la columna.
unique: permite especificar si la columna debe tener un valor único.
identifier: el nombre de la entidad en la base de datos. Si no se especifica, el sistema genera automáticamente el valor con el formato <nombre_tabla>_<nombre_de_la_columna>_idx. Si se especifica, el valor debe ser único para los dos valores especificados como para los valores generados automáticamente. La longitud máxima del valor es la longitud máxima permitida por la base de datos para los identificadores.
5. Pulse en Guardar para guardar los cambios realizados en el servicio.
6. Vaya a la cosa PTC.SCA.SCO.DatabaseManager.
7. Sincronice la información de la base de datos en el Operator Advisor con el esquema de base de datos. Para obtener más información, consulte Sincronización de la información de base de datos y el esquema de base de datos.
Eliminación de un campo indexado
Para quitar un campo indexado:
* 
No quite ningún campo indexado que se defina directamente. Quite solo los campos indexados que se hayan añadido anteriormente, por ejemplo por Adición de propiedades personalizadas a las entidades de Operator Advisor o Adición de entidades personalizadas al modelo de datos de Operator Advisor.
1. Vaya hasta la cosa de base de datas configurada para el sistema, por ejemplo PTC.SCA.SCO.PostgresDatabase o PTC.SCA.SCO.MSSQLDatabase.
2. En Servicios, ejecute el servicio RemoveIndex con las entradas siguientes:
dataShapeName: definición de datos para la tabla de base de datos de la que se quita la restricción de campo indexado.
fieldName: campo de la definición de datos del que se quita la restricción de campo indexado.
dbInfo: descripción JSON de la restricción de campo indexado que se va a quitar. Se debe proporcionar la misma información de identifier (si existe) y name que se especifica en el servicio Get<entity>DBInfo donde se define el campo indexado.
3. Pulse en Ejecutar.
4. Navegue al servicio Get<entity>DBInfo en el que se ha definido el campo indexado y quite la definición de campo indexado de los servicios. Si no se quita, el campo indexado se volverá a añadir a la base de datos la próxima vez que se ejecuten los servicios de sincronización.
Por ejemplo, para quitar una restricción de campo indexado con un identifier especificado de un campo denominado WorkDefinitionUID en la definición de datos MyObject, especifique lo siguiente para los parámetros de entrada:
dataShapeNameMyObject
fieldNameWorkDefinitionUID
dbInfo
{
"identifier":"myobject_workdefinitionuid_idx"
"name":"WorkDefinitionUID",
}