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>
関連トピックス
- SaaS サービス向けAdobe Commerce データ書き出しガイドのSaaS データ書き出し拡張機能リリースノート
- Commerce実装プレイブックのデータベーステーブルを修正するためのベストプラクティス