좋아, 그래서 No such entity.
오류 메시지에서 온다 \lib\internal\Magento\Framework\Exception\NoSuchEntityException.php
.
이 클래스는 Magento의 사용자 정의 예외 클래스이며 Magento 2에서 많이 사용됩니다.
다음과 같은 코드가 나타날 때마다 :
catch (NoSuchEntityException $e)
또는
throw NoSuchEntityException;
이 클래스가 사용되고 있습니다.
귀하의 경우 문제는 예외가 발생하는 곳을 찾기가 어렵다는 것입니다.
따라서 조금 좁히기 위해 실패한 인덱스와 관련된 두 클래스 디버깅을 시작할 수 있습니다.
Magento\Catalog\Model\Indexer\Category\Product
=> catalog_category_product 색인
Magento\Catalog\Model\Indexer\Product\Category
=> catalog_product_category 인덱스
다행히 두 번째는 첫 번째 것을 확장하므로 시작점이 하나 있습니다.
이 인덱서 클래스 각각은 액션 행 클래스를 사용하여 재 인덱싱을 처리한다는 점을 명심해야합니다.
Magento\Catalog\Model\Indexer\Product\Category\Action\Rows
Magento\Catalog\Model\Indexer\Category\Product\Action\Rows
저에게 액션 행 클래스는 두 인덱스를 다시 인덱싱하는 직접 클래스이므로 디버깅을 시작해야합니다.
문제를 찾는 데 도움이되기를 바랍니다.