Skip to content
Snippets Groups Projects
Commit a73920f2 authored by Mateusz Charytoniuk's avatar Mateusz Charytoniuk
Browse files

chore(doctrine): preload class metadata

parent 424a5cc0
No related branches found
No related tags found
No related merge requests found
...@@ -44,6 +44,8 @@ final readonly class DoctrineEntityManagerRepositoryProvider extends SingletonPr ...@@ -44,6 +44,8 @@ final readonly class DoctrineEntityManagerRepositoryProvider extends SingletonPr
$this->generateProxies($doctrineEntityManagerRepository); $this->generateProxies($doctrineEntityManagerRepository);
} }
$this->preloadClassMetadata($doctrineEntityManagerRepository);
return $doctrineEntityManagerRepository; return $doctrineEntityManagerRepository;
} }
...@@ -66,4 +68,13 @@ final readonly class DoctrineEntityManagerRepositoryProvider extends SingletonPr ...@@ -66,4 +68,13 @@ final readonly class DoctrineEntityManagerRepositoryProvider extends SingletonPr
*/ */
$entityManager->getConnection()->close(); $entityManager->getConnection()->close();
} }
private function preloadClassMetadata(DoctrineEntityManagerRepository $doctrineEntityManagerRepository): void
{
$doctrineEntityManagerRepository
->buildEntityManager()
->getMetadataFactory()
->getAllMetadata()
;
}
} }
...@@ -14,6 +14,7 @@ use Distantmagic\Resonance\Feature; ...@@ -14,6 +14,7 @@ use Distantmagic\Resonance\Feature;
use Distantmagic\Resonance\PHPProjectFiles; use Distantmagic\Resonance\PHPProjectFiles;
use Distantmagic\Resonance\SingletonContainer; use Distantmagic\Resonance\SingletonContainer;
use Distantmagic\Resonance\SingletonProvider; use Distantmagic\Resonance\SingletonProvider;
use Doctrine\Common\EventManager;
use Doctrine\ORM\Configuration; use Doctrine\ORM\Configuration;
use Doctrine\ORM\ORMSetup; use Doctrine\ORM\ORMSetup;
use Doctrine\ORM\Proxy\ProxyFactory; use Doctrine\ORM\Proxy\ProxyFactory;
...@@ -30,6 +31,7 @@ final readonly class DoctrineORMConfigurationProvider extends SingletonProvider ...@@ -30,6 +31,7 @@ final readonly class DoctrineORMConfigurationProvider extends SingletonProvider
private ApplicationConfiguration $applicationConfiguration, private ApplicationConfiguration $applicationConfiguration,
private DoctrineAttributeDriver $doctrineAttributeDriver, private DoctrineAttributeDriver $doctrineAttributeDriver,
private DoctrineEntityListenerResolver $doctrineEntityListenerResolver, private DoctrineEntityListenerResolver $doctrineEntityListenerResolver,
private EventManager $eventManager,
) {} ) {}
public function provide(SingletonContainer $singletons, PHPProjectFiles $phpProjectFiles): Configuration public function provide(SingletonContainer $singletons, PHPProjectFiles $phpProjectFiles): Configuration
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment