Commerce Data Exporterのフィードと変更ログでデータが更新されない

この記事では、Data Exporter Mview サブスクリプションで間違ったビューIDを使用することで発生するデータ同期の問題を修正するためのソリューションを提供します。 Mview サブスクリプションは、データベーステーブルの変更を追跡するために使用されます。

説明 description

環境

  • 製品: Adobe Commerce
  • 制約: カスタムコードがデータ書き出し機能(commerce-data-exporterまたはsaas-exporter)に適用されました

問題/症状

インストールされているSaaS データ書き出しバージョンが103.3.0以降で、コードがcatalog_data_exporter_products インデックスを直接参照している場合、エラーが発生します。

マーチャントは、カタログデータエクスポーターフィードテーブルにデータ更新が見つからない場合があり、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 サブスクリプションで古い名前を参照するカスタムコードが含まれているため、テーブルが存在しません エラーが発生します。

解決策 resolution

カスタマイズされた拡張機能で、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
experience-cloud-kcs-help-kbarticles