Commerce Data Exporter フィードでデータが更新されず、cronが変更ログテーブルを持つエラーが存在しません
この記事では、Data Exporter Mview サブスクリプションで間違ったビューIDを使用することで発生するデータ同期の問題を修正するためのソリューションを提供します。 Mview サブスクリプションは、データベーステーブルの変更を追跡するために使用されます。
影響を受ける製品とバージョン
カスタムコードがデータ書き出し機能(commerce-data-exporterまたはsaas-exporter)に適用されたAdobe Commerce インスタンス。 インストールされているSaaS データ書き出しバージョンが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 サブスクリプションで古い名前を参照するカスタムコードが含まれているため、テーブルが存在しません エラーが発生します。
Solution
カスタマイズされた拡張機能で、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実装プレイブックのデータベーステーブルを修正するためのベストプラクティス