Merge branch 'DDC-2175'
This commit is contained in:
commit
59ffbd5f8d
@ -245,11 +245,13 @@ class JoinedSubclassPersister extends AbstractEntityInheritancePersister
|
|||||||
|
|
||||||
// Make sure the table with the version column is updated even if no columns on that
|
// Make sure the table with the version column is updated even if no columns on that
|
||||||
// table were affected.
|
// table were affected.
|
||||||
if ($isVersioned && ! isset($updateData[$versionedTable])) {
|
if ($isVersioned) {
|
||||||
$tableName = $this->quoteStrategy->getTableName($versionedClass, $this->platform);
|
if ( ! isset($updateData[$versionedTable])) {
|
||||||
$identifiers = $this->em->getUnitOfWork()->getEntityIdentifier($entity);
|
$tableName = $this->quoteStrategy->getTableName($versionedClass, $this->platform);
|
||||||
|
$this->updateTable($entity, $tableName, array(), true);
|
||||||
|
}
|
||||||
|
|
||||||
$this->updateTable($entity, $tableName, array(), true);
|
$identifiers = $this->em->getUnitOfWork()->getEntityIdentifier($entity);
|
||||||
$this->assignDefaultVersionValue($entity, $identifiers);
|
$this->assignDefaultVersionValue($entity, $identifiers);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
62
tests/Doctrine/Tests/ORM/Functional/Ticket/DDC2175Test.php
Normal file
62
tests/Doctrine/Tests/ORM/Functional/Ticket/DDC2175Test.php
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group DDC-2175
|
||||||
|
*/
|
||||||
|
class DDC2175Test extends \Doctrine\Tests\OrmFunctionalTestCase
|
||||||
|
{
|
||||||
|
protected function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
$this->_schemaTool->createSchema(array(
|
||||||
|
$this->_em->getClassMetadata(__NAMESPACE__ . '\DDC2175Entity'),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testIssue()
|
||||||
|
{
|
||||||
|
$entity = new DDC2175Entity();
|
||||||
|
$entity->field = "foo";
|
||||||
|
|
||||||
|
$this->_em->persist($entity);
|
||||||
|
$this->_em->flush();
|
||||||
|
|
||||||
|
$this->assertEquals(1, $entity->version);
|
||||||
|
|
||||||
|
$entity->field = "bar";
|
||||||
|
$this->_em->flush();
|
||||||
|
|
||||||
|
$this->assertEquals(2, $entity->version);
|
||||||
|
|
||||||
|
$entity->field = "baz";
|
||||||
|
$this->_em->flush();
|
||||||
|
|
||||||
|
$this->assertEquals(3, $entity->version);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Entity
|
||||||
|
* @InheritanceType("JOINED")
|
||||||
|
* @DiscriminatorMap({"entity": "DDC2175Entity"})
|
||||||
|
*/
|
||||||
|
class DDC2175Entity
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @Id @GeneratedValue @Column(type="integer")
|
||||||
|
*/
|
||||||
|
public $id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Column(type="string")
|
||||||
|
*/
|
||||||
|
public $field;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Version
|
||||||
|
* @Column(type="integer")
|
||||||
|
*/
|
||||||
|
public $version;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user