Magento 2.4.6 MSI在庫インデックスの問題の解決目次 はじめに 問題の理解 解決策と回避策の可能性 Magentoにおける在庫管理のベストプラクティス 結論 FAQ はじめに 電子商取引プラットフォームでの在庫管理は困難な作業です。特に予期せぬ問題が発生した場合はさらに困難になります。Magento 2.4.6のマルチストア設定を管理しており、正しく在庫状況がインデックスされない問題に直面している場合、このブログ記事はご参考になるでしょう。ストック数量は正しいのに、再インデックス処理が間違って商品をマークし、製品の可視性が低下することは、サイトの機能だけでなく、売上にも影響を与えます。この投稿では、この問題の複雑さについて詳しく説明し、可能な解決策を探り、Magentoストアがスムーズに動作するための実用的な手順を提供します。 問題の理解 Magentoのマルチソース在庫(MSI)機能は、複数の場所で在庫を管理するために設計されています。しかし、Magento 2.3.7から2.4.6にアップグレードした後、一部のユーザーが報告した問題では、在庫状況が再インデックス中に正しく更新されないことがあります。具体的には、製品が誤ってバックオーダーステータスに設定され、Webサイトのフロントエンドから消えるという問題です。 コアの問題 主な問題は、カタログインベントリ_ストック状態テーブルが実際の在庫数量に基づいて正しく更新されない場合に発生します。実際の在庫数量を持つ商品が在庫ありとしてインデックスされ、バックオーダーステータスが1または2の商品が在庫切れとしてマークされます。これにより、利用可能な商品が顧客に見えなくなり、ストアの利便性と収益性に影響を与えます。 解決策と回避策の可能性 この問題の対処には、即座な回避策とより永続的な修正を組み合わせた多面的なアプローチが必要です。 即時の回避策 データベース内の在庫状態を手動で修正するために、直接クエリを実行することで一時的な解決策を提供できます。次のクエリは、実際の在庫数量に基づいてカタログインベントリ_ストック状態テーブルを更新するのに役立ちます: INSERT INTO `cataloginventory_stock_status` (`product_id`, `website_id`, `stock_id`, `qty`, `stock_status`) SELECT...