Reset autoincrement in a custom purger not in DataFixtures.

This makes things a lot prettier in the DataFixtures.
This commit is contained in:
Jan Böhmer 2021-10-02 20:14:48 +02:00
parent bd4c20765a
commit 63065a8b58
8 changed files with 326 additions and 10 deletions

View file

@ -0,0 +1,20 @@
<?php
namespace App\Doctrine\Purger;
use Doctrine\Bundle\FixturesBundle\Purger\PurgerFactory;
use Doctrine\Common\DataFixtures\Purger\ORMPurger;
use Doctrine\Common\DataFixtures\Purger\PurgerInterface;
use Doctrine\ORM\EntityManagerInterface;
class ResetAutoIncrementPurgerFactory implements PurgerFactory
{
public function createForEntityManager(?string $emName, EntityManagerInterface $em, array $excluded = [], bool $purgeWithTruncate = false) : PurgerInterface
{
$purger = new ResetAutoIncrementORMPurger($em, $excluded);
$purger->setPurgeMode($purgeWithTruncate ? ORMPurger::PURGE_MODE_TRUNCATE : ORMPurger::PURGE_MODE_DELETE);
return $purger;
}
}