From 0c36045b34d0425663e71c708c15bac3f993fdbc Mon Sep 17 00:00:00 2001 From: Marius Klocke Date: Mon, 5 Feb 2024 21:17:08 +0100 Subject: [PATCH] Fix transaction handling --- .../ORM/DoctrineTransactionWrapper.php | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/src/Infrastructure/Persistence/ORM/DoctrineTransactionWrapper.php b/src/Infrastructure/Persistence/ORM/DoctrineTransactionWrapper.php index 0b98abb1..14990790 100644 --- a/src/Infrastructure/Persistence/ORM/DoctrineTransactionWrapper.php +++ b/src/Infrastructure/Persistence/ORM/DoctrineTransactionWrapper.php @@ -5,7 +5,6 @@ use Doctrine\ORM\EntityManagerInterface; use HexagonalPlayground\Application\OrmTransactionWrapperInterface; -use Throwable; class DoctrineTransactionWrapper implements OrmTransactionWrapperInterface { @@ -22,20 +21,10 @@ public function __construct(EntityManagerInterface $entityManager) */ public function transactional(callable $callable) { - $this->entityManager->beginTransaction(); + $result = call_user_func($callable); - try { - $return = call_user_func($callable); + $this->entityManager->flush(); - $this->entityManager->flush(); - $this->entityManager->commit(); - - return $return; - } catch (Throwable $e) { - $this->entityManager->clear(); - $this->entityManager->rollback(); - - throw $e; - } + return $result; } -} \ No newline at end of file +}