以下を説明(および防止)するためのアイデアを探しています。
1) Magento の再インデックス プロセス (価格または在庫) が、次のような場合に時々失敗します。
例外 'Zend_Db_Statement_Exception' とメッセージ 'SQLSTATE[23000]: 整合性制約違反: 1062 Duplicate entry '512723-1-1' for key 'PRIMARY'' in /[省略]/lib/Zend/Db/Statement/Pdo.php: 242
完全なトレース: https://gist.github.com/werdan/5255362
2) Magento の再インデックスはトランザクションで行われ、次のようにスケッチできます。
START TRANSACTION;
DELETE FROM `cataloginventory_stock_status`;
INSERT INTO cataloginventory_stock_status SELECT * FROM cataloginventory_stock_status_idx;
COMMIT;
3) DELETE コマンドと INSERT コマンドの間でテーブルの一貫性を壊すことは不可能であるべきですが、それが起こったとしてもです。
テーブルcataloginventory_stock_statusとcataloginventory_stock_status_idxのキーと構造が同一であることを確認しました。
説明と解決策として他に何が提案できますか?