Don't use transactions for statements with implicit commit
[MAILPOET-3926]
This commit is contained in:
committed by
Veljko V
parent
c0c9b11c54
commit
386f0c66b4
@ -2,7 +2,6 @@
|
||||
|
||||
namespace MailPoet\Doctrine;
|
||||
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityRepository as DoctrineEntityRepository;
|
||||
use MailPoetVendor\Doctrine\ORM\Mapping\ClassMetadata;
|
||||
@ -76,12 +75,10 @@ abstract class Repository {
|
||||
$cmd = $this->entityManager->getClassMetadata($this->getEntityClassName());
|
||||
$tableName = $cmd->getTableName();
|
||||
$connection = $this->entityManager->getConnection();
|
||||
$connection->transactional(function(Connection $connection) use ($tableName) {
|
||||
$connection->query('SET FOREIGN_KEY_CHECKS=0');
|
||||
$q = "TRUNCATE $tableName";
|
||||
$connection->executeUpdate($q);
|
||||
$connection->query('SET FOREIGN_KEY_CHECKS=1');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -59,11 +59,9 @@ array_map($destroy, $models);
|
||||
$entityManager = ContainerWrapper::getInstance(WP_DEBUG)->get(EntityManager::class);
|
||||
foreach ($entities as $entity) {
|
||||
$tableName = $entityManager->getClassMetadata($entity)->getTableName();
|
||||
$connection->transactional(function(Connection $connection) use ($tableName) {
|
||||
$connection->query('SET FOREIGN_KEY_CHECKS=0');
|
||||
$connection->executeUpdate("TRUNCATE $tableName");
|
||||
$connection->query('SET FOREIGN_KEY_CHECKS=1');
|
||||
});
|
||||
}
|
||||
|
||||
// save plugin version to avoid running migrations (that cause $GLOBALS serialization errors)
|
||||
@ -218,11 +216,9 @@ abstract class MailPoetTest extends \Codeception\TestCase\Test { // phpcs:ignore
|
||||
$classMetadata = $this->entityManager->getClassMetadata($entityName);
|
||||
$tableName = $classMetadata->getTableName();
|
||||
$connection = $this->entityManager->getConnection();
|
||||
$connection->transactional(function(Connection $connection) use ($tableName) {
|
||||
$connection->query('SET FOREIGN_KEY_CHECKS=0');
|
||||
$connection->executeUpdate("TRUNCATE $tableName");
|
||||
$connection->query('SET FOREIGN_KEY_CHECKS=1');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user