Ошибка импорта клиента Shopware: EntityManager закрыт

При импорте массового клиента в Shopware только первая строка из импортированного CSV выдает ошибку

«Менеджер сущностей закрыт».

Если я попытаюсь использовать только отдельные данные, он импортирует клиента, но также выдаст ту же ошибку «Менеджер сущностей закрыт».

Проверил core_production_date.log и importexport.log в shopware/var/log/ лога нет.

Также проверил Configureation->logfile, там тоже ничего.

Как я могу получить фактический журнал ошибок, почему это происходит? Пожалуйста, дайте мне знать, если кто-нибудь может помочь.

Версия ПО для магазина: 5.2.27

Спасибо.


person Sahidul Hassan Razon    schedule 09.08.2017    source источник


Ответы (2)


EntityManager закрывается, когда контекст базы данных запроса был закрыт из-за некоторого исключения SQL. В моем проекте это произошло при использовании Resource API Shopware, который также может использоваться импортером. Ресурс перехватывает ошибку, поэтому она не отображается в журналах. Однако диспетчер сущностей закрыт доктриной из-за ошибки SQL и не может быть повторно открыт в том же запросе. Таким образом, любой вызов после этого завершится сообщением «EntityManager isclosed».

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

person wheeler    schedule 31.08.2017

Вы можете использовать try..catch и сбросить EntityManager в предложении catch, если он закрыт (вы должны расширить свой класс API из ), например:

try {
 ... you code ...
} catch (\Exception $e) {
    if (!$this->getManager()->isOpen()) {
        $this->resetEntityManager();
    }
...
}
person waldicom    schedule 27.10.2017