Filtrado de datos para el programa de utilidad stagingprop a propagar

Puede filtrar los datos que el programa de utilidad stagingprop propaga para publicar actualizaciones para solamente objetos específicos a la base de datos de producción. Puede filtrar datos por tablas, por registros de cambio, por filtros personalizados o por una combinación de opciones de filtro.

Al filtrar los datos que se van a propagar, se reduce el impacto al rendimiento del sitio que produce el proceso stagingprop reduciendo la cantidad de datos que se están propagando. Para filtrar los datos, puede configurar el programa de utilidad de modo que filtre por tabla o por registro de cambios. Al ejecutar el programa de utilidad, puede utilizar parámetros de línea de mandatos para identificar el método de filtrado y cualquier archivo de configuración necesario o valor que se debe utilizar. Puede filtrar datos utilizando filtros personalizados.

Cuando se utiliza un filtro personalizado, el programa de utilidad stagingprop propaga datos que coinciden con el filtro. Puede utilizar varios filtros personalizados a la vez para filtrar los datos que desea propagar, pero los filtros se deben definir dentro del mismo archivo de configuración. Un filtro personalizado puede filtrar datos según criterios, como por ejemplo la tienda, el entorno local o el ID de objeto (por ejemplo ID de promoción, ID de categoría o ID de carpeta). Los filtros personalizados pueden aplicarse únicamente a los objetos y las tablas que se definen en el archivo de configuración especificado. Si no se incluye una tabla en cualquier definición de filtro dentro del archivo de configuración, el contenido de esa tabla se propaga normalmente. Por ejemplo, si tiene datos de catálogo y promoción que están marcados para su propagación y configura filtros personalizados para promociones, el programa de utilidad stagingprop propaga los datos de promoción específicos que coinciden con los filtros personalizados y propaga todos los datos de catálogo que se han marcado para su propagación.

Puede utilizar más de un método de filtrado a la vez. Por ejemplo, si tiene datos de catálogo y de promoción que están marcados para su propagación, puede utilizar filtros personalizados para filtrar los datos de promoción e incluir una lista personalizada que configure el programa de utilidad stagingprop para propagar únicamente los datos dentro de tablas de base de datos relacionadas con la promoción. Con estos métodos de filtrado combinados, el programa de utilidad stagingprop únicamente propaga los datos de promoción que coinciden con los filtros personalizados, no los datos de catálogo.

Nota: Si utiliza filtros personalizados, es posible que no necesita modificar los desencadenantes para las operaciones INSERT y UPDATE en la base de datos de transición para su uso en la actualización de la base de datos de producción. Si incluye las consultas para captar datos de propagación de INSERT y UPDATE en el archivo de configuración de filtro de transición, deberá modificar solamente los desencadenantes para las operaciones DELETE. Si utiliza la opción de filtrado del registro de cambios, debe modificar los desencadenantes para las operaciones INSERT, UPDATE y DELETE.

Para las operaciones INSERT y UPDATE que utilizan filtros personalizados, el proceso de transición utiliza la configuración de filtros personalizada y los valores de claves primarias en la tabla STAGLOG para asociar registros con las tablas adecuadas en la base de datos de transición y captar los registros filtrados para su propagación.

Para las operaciones DELETE que utilizan filtros personalizados, el proceso de transición no puede captar ni consultar los registros en la base de datos de transición. Los registros ya se han suprimido en la base de datos de transición de modo que el proceso de transición no puede determinar si un se aplica un filtro personalizado, como si un registro suprimido se ha asociado con un ID de tienda concreto. La única forma de identificar que una clave primaria de registro está asociada con un valor de filtro personalizado es registrar la asociación antes de eliminar el registro. Debe continuar utilizando el desencadenante AFTER DELETE que está asociado con la tabla STAGLOG para determinar esta asociación para operaciones DELETE.

Procedimiento

Cuando se apliquen filtros al proceso del programa de utilidad stagingprop, puede utilizar cualquiera de los siguientes métodos de filtro:
  • Para utilizar un filtro personalizado para filtrar datos:
    1. Cree un archivo de configuración de filtro de transición.
      Este archivo debe definir el SQL que el programa de utilidad va a utilizar para recuperar y propagar los datos filtrados. Cuando utilice un archivo de configuración de filtro de transición, puede alterar temporalmente el comportamiento del programa de utilidad stagingprop predeterminado durante la fase de propagación de la operación de stagingprop. Esta alteración temporal hace que el programa de utilidad recupere y utilice el SQL que se ha definido dentro del archivo de configuración.

      Para identificar el conjunto de datos específico que se deben filtrar, puede identificar de forma explícita el conjunto de datos dentro del archivo de configuración, o incluir los parámetros de sustitución, {customfilterparametername}, en el archivo de configuración. Si utiliza un parámetro de sustitución, después podrá incluir el parámetro y el valor customfilter% para identificar el conjunto de datos en la línea de mandatos al ejecutar el programa de utilidad stagingprop. El valor para parametername y % debe coincidir de modo que el valor para el parámetro customfilter% pueda pasarse de la línea de mandatos al SQL que se define en el archivo de configuración. Utilizando parámetros de sustitución puede crear un archivo de configuración que puede volver a utilizar para propagar los mismos tipos de objetos mediante un ID distinto sin necesidad de actualizar el archivo de configuración.

      Por ejemplo, el siguiente ejemplo del programa de utilidad stagingprop incluye el parámetro de sustitución {customfilterfolderid}. El valor para este parámetro debe ser un ID de carpeta. El archivo de configuración de ejemplo define SQL para que filtre datos de promoción mediante un ID de carpeta de modo que el programa de utilidad recibe y propaga únicamente las promociones que se incluyen dentro de la carpeta identificada. En el mandato de programa de utilidad para este ejemplo, se utiliza el parámetro customfilterfolderid para pasar el ID de carpeta que sustituye el parámetro de sustitución {customfilterfolderid}.
    2. Actualice los desencadenantes de la base de datos para que las tablas de transición sustituyan los desencadenantes de base de datos existentes para las tablas en las que se están aplicando filtros personalizados en el archivo de configuración.
      Puesto que solo se propagan determinados registros, debe alterar temporalmente los desencadenantes de base de datos predeterminados para indicar que solo se propagan los registros de los datos filtrados. Para obtener más información, consulte Creación de desencadenantes SQL para sustituir desencadenantes de tabla de base de datos de HCL Commerce.
    3. Especifique los parámetros de línea de mandatos cuando ejecute el programa de utilidad stagingprop:
      • El parámetro filterconfigfile con la vía de acceso de archivo al archivo de configuración de filtro de transición como valor para el parámetro. Debe incluir este parámetro para utilizar un filtro personalizado.
      • Los parámetros y valores customfilter% que se deben utilizar para los parámetros de sustitución en el SQL del archivo de configuración de filtro de transición cuya finalidad es alterar temporalmente el SQL predeterminado que utiliza el programa de utilidad. Si el archivo de configuración no incluye ningún parámetro de sustitución, no incluya este parámetro cuando ejecute el programa de utilidad. Si el archivo incluye parámetros de sustitución, incluya los valores y los parámetros coincidentes cuando ejecute el programa de utilidad para asegurarse de que el programa de utilidad de SQL utiliza es completo y válido.
    4. Si está propagando datos de catálogo que necesitan indexarse con la búsqueda de HCL Commerce, asegúrese de actualizar el índice de búsqueda para incluir los datos propagados.
  • Para utilizar una lista personalizada para filtrar datos por tabla de base de datos:
    1. Cree un archivo que contenga una o más listas de tablas de base de datos.
    2. Especifique los parámetros scope y configfile al ejecutar el programa de utilidad stagingprop.
      El parámetro scope del programa de utilidad stagingprop identifica que se filtran datos por tabla de base de datos. Dispone de cuatro opciones para el ámbito de la propagación de los datos a nivel de tabla:
      _all_
      Se propagan al entorno de producción todos los datos preparados para la producción.
      _site_
      Solo se propagan al entorno de producción las tablas que contienen datos de sitio.
      _merchant_
      Solo se propagan al entorno de producción las tablas que contienen datos de comerciante.
      s
      Solo las tablas de base de datos definidas contenidas en la lista s se propagan al entorno de producción. La lista se encuentra en un archivo especificado por el parámetro configfile. Puede especificar varias listas separándolas con una barra inclinada ("/").
  • Para utilizar un registro de cambios para filtrar datos:
    1. El parámetro filter del programa de utilidad de stagingprop filtra datos por registro de cambios.
    2. Para cada registro de cambios que desee propagar, inserte el mismo valor entero positivo en la columna STGFILTER para los registros de cambio de la tabla STAGLOG. Puede insertar esta información utilizando una de las siguientes opciones:
      • Actualice manualmente la tabla STAGLOG para cambiar los registros adecuados.
      • Actualice los desencadenantes INSERT, UPDATE y DELETE para cualquier tabla aplicable para insertar los cambios en la columna STGFILTER de la tabla STAGLOG.
    3. Especifique el parámetro filter junto con el valor de entero positivo cuando ejecute el programa de utilidad stagingprop.