[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}

修正未在Commerce Data Exporter摘要中更新的資料,且cron記錄檔中不存在變更記錄檔表格的錯誤

本文提供解決方案,解決在Data Exporter Mview訂閱中使用錯誤檢視識別碼所造成的資料同步問題。 Mview訂閱是用來追蹤資料庫表格的變更。

受影響的產品和版本

已套用自訂程式碼至資料匯出功能的Adobe Commerce執行個體(commerce-data-exportersaas-exporter)。 如果安裝的SaaS Data Export版本是103.3.0或更新版本,而且程式碼直接參照catalog_data_exporter_products索引,就會發生錯誤。

問題

商家可能會發現目錄Data Exporter摘要資料表中缺少資料更新,並在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} [] []

原因

由於Commerce Data Export 版本103.3.0發行版本中的摘要表格、索引和變更記錄表格中的名稱變更,使用Commerce Data Export副檔名的自訂擴充功能中的Mview訂閱可能無法正常運作。

在此情況下,資料表不存在 ​錯誤會發生,因為catalog_data_exporter資料表名稱已變更為cde_products_feed,而且您的自訂程式碼參考了Data Exporter Mview訂閱中的舊名稱。

解決方案

在自訂延伸中,編輯Mview組態檔(./etc/mview.xml)以將catalog_data_exporter_products資料表名稱變更為​ cde_products_feed

下列範例顯示指定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>

相關閱讀

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a