Les données de correctif non mises à jour dans les flux Commerce Data Exporter et les erreurs de journaux cron avec la table changelog n’existent pas
Cet article fournit une solution pour résoudre les problèmes de synchronisation des données causés par l’utilisation d’un ID de vue incorrect dans l’abonnement à Data Exporter Mview. L’abonnement Mview est utilisé pour effectuer le suivi des modifications des tables de la base de données.
Produits et versions concernés
Instances Adobe Commerce sur lesquelles un code personnalisé a été appliqué à la fonctionnalité d’exportation de données (commerce-data-exporter ou saas-exporter). L’erreur se produit si la version SaaS Exportation de données) installée est 103.3.0 ou ultérieure et que le code fait directement référence à l’index catalog_data_exporter_products.
Problème
Les commerçants peuvent constater que les mises à jour de données sont absentes des tables de flux de l’Data Exporter Catalogue et voir les erreurs suivantes dans les journaux de tâches cron :
[2024-05-27T19:00:04.627604+00:00] report.ERROR: Cron Job indexer_clean_all_changelogs has an error: Table catalog_data_exporter_products_cl does not exist. Statistics: {"sum":0,"count":1,"realmem":0,"emalloc":0,"realmem_start":305135616,"emalloc_start":283210384} [] []
Cause
En raison des changements de nom dans les tables de flux, les index et les tables de logs des modifications dans la version Commerce Data Export version 103.3.0, les abonnements Mview dans les extensions personnalisées qui utilisent les extensions Commerce Data Export peuvent ne pas fonctionner correctement.
Dans ce cas, l’erreur table n’existe pas se produit car le nom de la table catalog_data_exporter a été modifié en cde_products_feed et vous disposez d’un code personnalisé qui fait référence à l’ancien nom dans l’abonnement Data Exporter Mview.
Solution
Dans l’extension personnalisée, modifiez le fichier de configuration Mview (./etc/mview.xml) pour remplacer le nom de la table catalog_data_exporter_products par cde_products_feed.
L’exemple suivant illustre le code qui spécifie les tables suivies par l’abonnement Mview :
<view id="cde_products_feed" class="Magento\CatalogDataExporter\Model\Indexer\ProductFeedIndexer" group="indexer">
<subscriptions>
<table name="custom_table" entity_column="product_id" />
</subscriptions>
</view>
Lecture connexe
- SaaS Notes de mise à jour de l’extension Data Export dans le Guide d’exportation de données Adobe Commerce pour SaaS Services
- Recommandations relatives à la modification des tables de base de données dans le manuel Commerce Implementation Playbook