将批量客户导入 Shopware 时,仅导入 CSV 中的第一行,然后抛出错误
"实体经理已关闭"。
如果我尝试仅使用单个数据,它会导入客户,但也会抛出相同的错误"实体管理器已关闭"。
检查了core_production_date.log
并importexport.log
shopware/var/log/
那里没有日志。
还检查了Configureation->logfile
,那里也没有。
如何获取实际的错误日志,为什么会发生这种情况?如果有人可以提供帮助,请告诉我。
购物软件版本是 5.2.27
谢谢。
当请求的数据库上下文由于某些 SQL 异常而关闭时,会发生实体管理器关闭。 在我的项目中,这发生在使用Shopware的资源API时,导入者也可能使用。资源会捕获错误,因此它不会显示在日志中。由于 SQL 错误,实体管理器已按原则关闭,并且无法在同一请求中重新打开。因此,之后的任何调用都将以"实体管理器已关闭"消息结束。
如果您找到一种在控制台中运行导入的方法,其中错误至少将显示为控制台日志,这将有所帮助。您还可以查看资源本身,了解哪种数据可能出错或丢失。
你可以使用try..catch 并重置 catch 子句中的 EntityManager,如果它已关闭(您应该从 扩展您的 API 类(,例如:
try {
... you code ...
} catch (Exception $e) {
if (!$this->getManager()->isOpen()) {
$this->resetEntityManager();
}
...
}