Skip to content

Commit f71ca19

Browse files
committed
Some small fixes and optimizations
1 parent d989462 commit f71ca19

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

EventSubscriber/CreateSchemaSubscriber.php

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use BobV\EntityHistoryBundle\Configuration\HistoryConfiguration;
66
use Doctrine\Common\EventSubscriber;
7+
use Doctrine\DBAL\Schema\Column;
78
use Doctrine\ORM\Tools\Event\GenerateSchemaTableEventArgs;
89
use Doctrine\ORM\Tools\ToolEvents;
910

EventSubscriber/LogHistorySubscriber.php

+22-6
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,18 @@
44

55
use BobV\EntityHistoryBundle\Configuration\HistoryConfiguration;
66
use Doctrine\Common\EventSubscriber;
7+
use Doctrine\DBAL\Connection;
8+
use Doctrine\DBAL\DBALException;
9+
use Doctrine\DBAL\Platforms\AbstractPlatform;
710
use Doctrine\DBAL\Types\Type;
11+
use Doctrine\ORM\EntityManager;
812
use Doctrine\ORM\Event\LifecycleEventArgs;
913
use Doctrine\ORM\Event\OnFlushEventArgs;
1014
use Doctrine\ORM\Events;
15+
use Doctrine\ORM\Mapping\AnsiQuoteStrategy;
1116
use Doctrine\ORM\Mapping\ClassMetadata;
17+
use Doctrine\ORM\Mapping\DefaultQuoteStrategy;
18+
use Doctrine\ORM\UnitOfWork;
1219

1320
/**
1421
* Class LogHistorySubscriber
@@ -28,23 +35,23 @@ class LogHistorySubscriber implements EventSubscriber
2835
*/
2936
private $config;
3037
/**
31-
* @var \Doctrine\DBAL\Connection
38+
* @var Connection
3239
*/
3340
private $conn;
3441
/**
35-
* @var \Doctrine\ORM\EntityManager
42+
* @var EntityManager
3643
*/
3744
private $em;
3845
/**
3946
* @var array
4047
*/
4148
private $insertRevisionSQL = array();
4249
/**
43-
* @var \Doctrine\DBAL\Platforms\AbstractPlatform
50+
* @var AbstractPlatform
4451
*/
4552
private $platform;
4653
/**
47-
* @var \Doctrine\ORM\UnitOfWork
54+
* @var UnitOfWork
4855
*/
4956
private $uow;
5057

@@ -100,6 +107,9 @@ public function postPersist(LifecycleEventArgs $eventArgs)
100107
$this->saveRevisionEntityData($class, $this->getOriginalEntityData($entity), 'INS');
101108
}
102109

110+
/**
111+
* @param LifecycleEventArgs $eventArgs
112+
*/
103113
public function postUpdate(LifecycleEventArgs $eventArgs)
104114
{
105115
// onFlush was executed before, everything already initialized
@@ -114,6 +124,12 @@ public function postUpdate(LifecycleEventArgs $eventArgs)
114124
$this->saveRevisionEntityData($class, $entityData, 'UPD');
115125
}
116126

127+
/**
128+
* @param ClassMetadata $class
129+
*
130+
* @return string
131+
* @throws DBALException
132+
*/
117133
private function getInsertRevisionSQL($class)
118134
{
119135
if (!isset($this->insertRevisionSQL[$class->name])) {
@@ -145,7 +161,7 @@ private function getInsertRevisionSQL($class)
145161
$placeholders[] = (!empty($class->fieldMappings[$field]['requireSQLConversion']))
146162
? $type->convertToDatabaseValueSQL('?', $this->platform)
147163
: '?';
148-
$sql .= ', ' . $class->getQuotedColumnName($field, $this->platform);
164+
$sql .= ', ' . $this->em->getConfiguration()->getQuoteStrategy()->getColumnName($field, $class, $this->platform);
149165
}
150166

151167
$sql .= ") VALUES (" . implode(", ", $placeholders) . ")";
@@ -230,8 +246,8 @@ private function saveRevisionEntityData($class, $entityData, $revType)
230246

231247
foreach ($class->associationMappings AS $field => $assoc) {
232248
if (($assoc['type'] & ClassMetadata::TO_ONE) > 0 && $assoc['isOwningSide']) {
233-
$targetClass = $this->em->getClassMetadata($assoc['targetEntity']);
234249

250+
$relatedId = NULL;
235251
if ($entityData[$field] !== NULL) {
236252
$relatedId = $this->uow->getEntityIdentifier($entityData[$field]);
237253
}

0 commit comments

Comments
 (0)