Ejemplo: Propagación de datos de promoción filtrados a la base de datos de producción

Utilice el siguiente código de ejemplo para ayudarle a entender cómo utilizar un archivo de configuración de filtro de transición y los parámetros de línea de mandatos para configurar el programa de utilidad stagingprop. Si utiliza un archivo de configuración de filtro de transición, puede publicar únicamente los datos que coincidan con una condición de filtro de transición personalizada. En este ejemplo, el programa de utilidad stagingprop se configura para publicar únicamente datos de promoción que se incluyen dentro de una carpeta de promoción específica.

Utilice este ejemplo como ayuda para crear filtros de transición que pueden filtrar los datos que publicará cualquier parámetro, como por ejemplo ID de tienda o categoría. Si utiliza filtros de transición, puede promover datos a producción siempre que sea necesario publicar un conjunto de datos específico entre operaciones de transición de gran tamaño estables.

Al filtrar los objetos 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 que se deben propagar, puede configurar el programa de utilidad con un archivo de configuración de filtro de transición que define cómo procesa los datos el programa de utilidad. Al ejecutar el programa de utilidad stagingprop, podrá utilizar los parámetros de línea de mandatos para especificar el archivo XML de configuración y el objeto que se va a filtrar. Para obtener más información, consulte Filtrado de datos para el programa de utilidad stagingprop a propagar.

Antes de empezar

Asegúrese de llevar a cabo las siguientes tareas:
  • En el entorno de autoría o transición, utilice el Centro de gestión para crear o cambiar promociones y añadirlas a una carpeta de promociones. Al guardar los cambios para las promociones, cree un registro para las promociones dentro de la tabla de base de datos STAGLOG. Este registro identifica que los registro se cambian y están listos para propagarse en el entorno de producción.
  • En el Centro de gestión, vea la lista de todas las carpetas de promociones en la tienda. Configure las columnas que aparecen en la lista para visualizar el valor de ID exclusivo de carpeta. Anote el ID para la carpeta de promociones que incluye las promociones que desea propagar al entorno de producción. Este ejemplo utiliza el ID 10001.
  • En el entorno de producción, asegúrese de que todos los elementos de catálogo o marketing que están asociados con las promociones que desea publicar están disponibles.
  • En el entorno de transición, actualice los desencadenantes de base de datos para la base de datos. Ejecute manualmente el archivo script promotionFilterByFolderTriggers.sql para generar los desencadenantes en la tabla correspondiente. Es necesario completar está tarea solo una vez para una tabla. Estos desencadenantes sustituyen los desencadenantes de base de datos existentes en el entorno de transición para determinadas tablas de promoción.

Acerca de este ejemplo

Este ejemplo muestra cómo utilizar un filtro de transición para propagar solamente las promociones nuevas y cambiadas que se incluyen dentro de una carpeta de promoción específica. Este ejemplo utiliza un archivo de configuración de filtro de transición de ejemplo para definir el SQL que el programa de utilidad stagingprop utiliza para seleccionar los datos que se deben propagar. Este SQL también define cómo propaga los datos el programa de utilidad. Este archivo de configuración altera temporalmente el comportamiento del programa de utilidad stagingprop predeterminado durante la fase de propagación de la operación de transición. 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. El programa de utilidad utiliza el SQL para propagar los datos filtrados. En este ejemplo, las promociones dentro de una carpeta especificada. Los archivos de configuración, promotionFilterByFolder.xml, están en el siguiente directorio
  • utilities_root\components\foundation\samples\Staging\Promotion
Nota: Sólo se propagan a producción las promociones que están dentro de la carpeta especificada cuando se ejecuta el programa de utilidad stagingprop. Cuando el programa de utilidad stagingprop se ejecuta con el archivo promotionFilterByFolder.xml de ejemplo, el programa de utilidad solo crea o cambia las promociones en el entorno de producción. No se suprime ninguna promoción. Si desea eliminar una promoción activa en la producción, utilice la herramienta Promociones para desactivar la promoción.

Para especificar que el programa de utilidad stagingprop va a utilizar un archivo de configuración de filtro de transición, debe incluir el parámetro -filterconfigfile- en la línea de mandatos cuando ejecuta el programa de utilidad. El valor para el parámetro debe ser el nombre y la vía de acceso del archivo de configuración.

Para identificar el conjunto de datos específico que se deben filtrar, puede identificar el conjunto de datos dentro del archivo de configuración, o incluir un parámetro de sustitución, {customfilterparametername}, en el archivo de configuración. Si utiliza el parámetro de sustitución, podrá incluir el parámetro -customfilter% en la línea de mandatos cuando ejecuta el programa de utilidad stagingprop. El valor de los dos parámetros debe coincidir para que el valor del parámetro pueda pasarse desde la línea de mandatos en el SQL que se define en el archivo de configuración. En este ejemplo, se utilizan los parámetros de filtro personalizados {customfilterfolderid} y -customfilterfolderid. Debe especificar el ID de carpeta de la carpeta que incluye las promociones que se van a propagar como el valor para el parámetro -customfilterfolderid en la línea de mandatos.

Después de ejecutar el programa de utilidad stagingprop para propagar datos filtrados, debe actualizar los desencadenantes de base de datos para las tablas de transició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. El archivo SQL, promotionFilterByFolderTriggers.sql, que incluye los desencadenantes de base de datos que se ejecutan en este ejemplo está en el siguiente directorio:
  • utilities_root\components\foundation\samples\Staging\Promotion\dbtype
Donde dbtype es la base de datos para el entorno. Los desencadenantes SQL están disponibles para ambas bases de datos, DB2 y Oracle.

Procedimiento

  1. Abra la Utility server Docker container.Ejecución de programas de utilidad desde Utility server Docker container
  2. Escriba el siguiente mandato para ejecutar el programa de utilidad stagingprop con los valores y parámetros de filtro de transición adecuados:
    • DB2./stagingprop.sh -scope _all_ -sourcedb staging_database_name -sourcedb_user user -sourcedb_passwd password -destdb production_database_name -destdb_user user -destdb_passwd password -dbtype db2 -log log_file_name -customfilterfolderid 10001 -filterconfigfile ../components/foundation/samples/Staging/Promotion/promotionFilterByFolder.xml
    • Oracle ./stagingprop.sh -scope _all_ -sourcedb staging_database_name -sourcedb_user user -sourcedb_passwd password -destdb production_database_name -destdb_user user -destdb_passwd password -dbtype oracle -log log_file_name -customfilterfolderid 10001 -filterconfigfile ../components/foundation/samples/Staging/Promotion/promotionFilterByFolder.xml
  3. Revise el archivo de registro para el programa de utilidad stagingprop para asegurarse de que el proceso de transición se ha completado satisfactoriamente. El archivo de registro está en el directorio siguiente:
    • Linux utilities_root/logs
  4. En el entorno de producción o de destino, verifique que las promociones nuevas o cambiadas están disponibles en el Centro de gestión.