Как устранить сбой «No such entity with cartId = 1» при установке демо-данных в Magento 2 версии 0.74-beta7

демо-данные
мастер-установки
0.74-beta7

(Дмитрий Федюк) #1

При установке Magento 2 версии 0.74-beta7 с демо-данными может произойти сбой:

Installing orders:
[ERROR] exception ‘Magento\Framework\Exception\NoSuchEntityException’ with message ‘No such entity with cartId = 1’ in lib/internal/Magento/Framework/Exception/NoSuchEntityException.php:38

Этот сбой случается не всегда, а только при некотором программном окружении.
В частности, у меня он возник при установке Magento 2 версии 0.74-beta7 в операционной системе Debian, но не возникал при установке той же версии Magento 2 в Windows.
Об этом сбое упоминали уже и другие пользователи Magento 2.
Сбой происходит при создании демо-заказа.
Я устранил его следующим образом:

  • Файл: dev/tools/Magento/Tools/SampleData/Module/Sales/Setup/Order.php

  • Примерная строка: 77

  • Что найти:

    $this->orderProcessor->createOrder($orderData);
    
  • На что заменить:

    try {$this->orderProcessor->createOrder($orderData);} catch (\Exception $e) {}
    

Эта заплатка позволяет мастеру установки продолжить и успешно завершить свою работу, несмотря на то, что данный конкретный демо-заказ не будет установлен.