Skip to content

Commit

Permalink
Fixes doctrine#213
Browse files Browse the repository at this point in the history
  • Loading branch information
jguittard committed Jan 14, 2016
1 parent b4213c2 commit 0afce64
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 13 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
phpunit.xml
vendor/
composer.lock
.idea/
26 changes: 13 additions & 13 deletions lib/Doctrine/Common/DataFixtures/Purger/ORMPurger.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ public function getPurgeMode()
*/
public function setEntityManager(EntityManagerInterface $em)
{
$this->em = $em;
$this->em = $em;
}

/**
Expand Down Expand Up @@ -148,45 +148,45 @@ private function getCommitOrder(EntityManagerInterface $em, array $classes)
$calc = new CommitOrderCalculator;

foreach ($classes as $class) {
$calc->addClass($class);
$calc->addNode($class->name, $class);

// $class before its parents
foreach ($class->parentClasses as $parentClass) {
$parentClass = $em->getClassMetadata($parentClass);

if ( ! $calc->hasClass($parentClass->name)) {
$calc->addClass($parentClass);
if ( ! $calc->hasNode($parentClass->name)) {
$calc->addNode($parentClass->name, $parentClass);
}

$calc->addDependency($class, $parentClass);
$calc->addDependency($class->name, $parentClass->name, 0);
}

foreach ($class->associationMappings as $assoc) {
if ($assoc['isOwningSide']) {
$targetClass = $em->getClassMetadata($assoc['targetEntity']);

if ( ! $calc->hasClass($targetClass->name)) {
$calc->addClass($targetClass);
if ( ! $calc->hasNode($targetClass->name)) {
$calc->addNode($targetClass->name, $targetClass);
}

// add dependency ($targetClass before $class)
$calc->addDependency($targetClass, $class);
$calc->addDependency($targetClass->name, $class->name, 0);

// parents of $targetClass before $class, too
foreach ($targetClass->parentClasses as $parentClass) {
$parentClass = $em->getClassMetadata($parentClass);

if ( ! $calc->hasClass($parentClass->name)) {
$calc->addClass($parentClass);
if ( ! $calc->hasNode($parentClass->name)) {
$calc->addNode($parentClass->name, $parentClass);
}

$calc->addDependency($parentClass, $class);
$calc->addDependency($parentClass->name, $class->name, 0);
}
}
}
}

return $calc->getCommitOrder();
return $calc->sort();
}

/**
Expand Down Expand Up @@ -239,4 +239,4 @@ private function getJoinTableName($assoc, $class, $platform)

return $this->em->getConfiguration()->getQuoteStrategy()->getJoinTableName($assoc, $class, $platform);
}
}
}

0 comments on commit 0afce64

Please # to comment.