Exemple : propagation de données de promotion filtrées dans la base de données de production
Utilisez l'exemple de code ci-dessous pour vous aider à comprendre comment utiliser un fichier de configuration de filtre de transfert et des paramètres de ligne de commande pour configurer l'utilitaire stagingprop. En utilisant un fichier de configuration du filtre de transfert, vous pouvez publier uniquement les données qui correspondent à une condition de filtre de transfert personnalisé. Dans cet exemple, l'utilitaire stagingprop est configuré pour publier uniquement des données de promotion qui sont incluses dans un dossier de promotion spécifique.
Utilisez cet exemple pour vous aider à créer des filtres de transfert qui peuvent filtrer les données à publier par tout paramètre, tels que l'ID magasin ou la catégorie. En utilisant des filtres de transfert, vous pouvez promouvoir des données à la production chaque fois que vous avez besoin de publier un ensemble spécifique de données entre les opérations de transfert volumineuses régulières.
Lorsque vous filtrez les objets à propager, vous réduisez l'impact sur les performances du site du processus stagingprop en réduisant la quantité de données qui est propagée. Pour filtrer les données qui doivent être propagées, vous pouvez configurer l'utilitaire avec un fichier de configuration de filtre de transfert qui définit la façon dont l'utilitaire traite les données. Lorsque vous exécutez l'utilitaire stagingprop, vous pouvez utiliser des paramètres de ligne de commande pour spécifier le fichier XML de configuration et l'objet qui doit être filtré. Pour plus d'informations, voir Filtrage des données que l'utilitaire stagingprop doit propager.
Avant de commencer
Vous devez exécuter les tâches suivantes :- Dans votre environnement de création ou de transfert, utilisez le Centre de gestion pour créer ou modifier des promotions et ajoutez les promotions à un dossier de promotion. Lorsque vous enregistrez les modifications pour les promotions, vous créez un enregistrement pour les promotions au sein de la table de base de données STAGLOG. Cet enregistrement identifie que les enregistrements sont modifiés et prêts à être propagés vers l'environnement de production.
- Dans le Centre de gestion, consultez la liste de tous les dossiers de promotion de votre magasin. Configurez les colonnes qui apparaissent dans la liste pour afficher la valeur de l'ID unique de dossier. Enregistrez l'ID du dossier de promotion qui comprend les promotions que vous souhaitez propager à l'environnement de production. Cet exemple utilise un ID de 10001.
- Dans l'environnement de production, assurez-vous que tous les actifs de catalogue ou de vente qui sont associés aux promotions que vous souhaitez publier sont disponibles.
- Dans votre environnement de transfert, mettez à jour les déclencheurs de base de données pour votre base de données. Exécutez manuellement le fichier script promotionFilterByFolderTriggers.sql pour générer les déclencheurs au niveau de la table appropriée. Vous ne devez effectuer cette tâche qu'une seule fois pour une table. Ces déclencheurs remplacent les déclencheurs de base de données existants sur votre environnement de transfert pour les tables de promotion spécifiques.
A propos de cet exemple
- utilities_root\components\foundation\samples\Staging\Promotion
Pour indiquer que l'utilitaire stagingprop utilise un fichier de configuration de filtre de transfert, vous devez inclure le paramètre -filterconfigfile dans la ligne de commande lorsque vous exécutez l'utilitaire. La valeur du paramètre doit être le chemin et le nom du fichier de configuration.
Pour identifier le jeu de données à filtrer, vous pouvez identifier les données définies dans le fichier de configuration, ou inclure un paramètre de remplacement, {customfilterparametername}, dans le fichier de configuration. Si vous utilisez le paramètre de remplacement, vous pouvez inclure le paramètre -customfilter% dans la ligne de commande lorsque vous exécutez l'utilitaire stagingprop. La valeur de ces deux paramètres doit correspondre pour que la valeur du paramètre puisse être transmise à partir de la ligne de commande dans le script sql qui est défini dans le fichier de configuration. Dans cet exemple, les paramètres de filtre personnalisés {customfilterfolderid} et -customfilterfolderid sont utilisés. Vous devez spécifier l'ID du dossier qui comprend les promotions à propager comme valeur pour le paramètre -customfilterfolderid dans la ligne de commande.
- utilities_root\components\foundation\samples\Staging\Promotion\dbtype
Procédure
- Ouvrez le Utility server Docker container.
- Entrez la commande suivante pour exécuter l'utilitaire stagingprop avec les paramètres et les valeurs de filtre de transfert appropriés :
./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
./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
- Consultez le fichier journal de l'utilitaire stagingprop pour vous assurer que le processus de transfert est terminé. Le fichier journal se trouve dans le répertoire suivant :
utilities_root/logs
- Dans votre environnement de production ou cible, vérifiez que les nouvelles promotions et les promotions modifiées sont disponibles dans le centre de gestion.