Adobe Commerceの無効なカスタマーアドレス ID エラー

Adobe Commerceでは、テーブルのデータに一貫性がないことが原因で、 無効なカスタマーアドレス IDquote エラーが発生します。 特に、一部のレコードには有効な customer_idcustomer_is_guest フラグの両方が 1 に設定されているため、顧客の住所の検証が失敗します。 これを修正するには、SQL クエリを使用して、データベース内の影響を受けるレコードを特定し更新します。

説明 description

環境

Adobe Commerce

問題/症状

  • New Relicでエラーが断続的に記録され、次のメッセージが表示されます。

    Magento\Framework\Exception\NoSuchEntityException:/vendor/magento/module-quote/Model/QuoteAddressValidator.phpの ID< 無効な顧客アドレス ID>

  • この問題はランダムな顧客に発生し、それをレプリケートする手順は不明です。

  • このエラーは、特定の顧客の買い物かごや見積もりでデータが競合している、データベース内の不整合に関連しているようです。

解決策 resolution

注意 : これらの操作は、中断を避けるために、メンテナンスウィンドウ中またはシステムアクティビティが最小限の場合に実行することをお勧めします。

この問題を解決するには、次の手順に従います。

  1. 変更を加える前に、データベースをバックアップします。

  2. 次のクエリを実行して、影響を受けるレコードを特定します。

    code language-none
    &#39;SELECT count (*) FROM quote WHERE customer_id != 0 かつ customer_is_guest = 1;&#39;
    

    ​3. 影響を受けるレコードが見つかった場合は、customer_is_guest の行の 0customer_id != 0 に設定して更新します。 次の SQL 文を使用します。

    code language-none
    &#39;UPDATE QUOTE SET customer_is_guest = 0 WHERE customer_id != 0 かつ customer_is_guest = 1;&#39;
    

    ​4. ログを監視し、それ以上のエラーがログに記録されないようにして、変更によって問題が解決したことを確認します。

さらにサポートが必要な場合は、Adobe サポート ​ に問い合わせて、詳細な調査を依頼してください。

関連資料

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f