|
4 | 4 |
|
5 | 5 | namespace Doctrine\Bundle\MigrationsBundle\DependencyInjection;
|
6 | 6 |
|
| 7 | +use Doctrine\Bundle\MigrationsBundle\Collector\MigrationsCollector; |
7 | 8 | use Doctrine\Migrations\Metadata\Storage\MetadataStorage;
|
8 | 9 | use Doctrine\Migrations\Metadata\Storage\TableMetadataStorageConfiguration;
|
9 | 10 | use Doctrine\Migrations\Version\MigrationFactory;
|
@@ -71,6 +72,10 @@ public function load(array $configs, ContainerBuilder $container): void
|
71 | 72 | $configurationDefinition->addMethodCall('setAllOrNothing', [$config['all_or_nothing']]);
|
72 | 73 | $configurationDefinition->addMethodCall('setCheckDatabasePlatform', [$config['check_database_platform']]);
|
73 | 74 |
|
| 75 | + if ($config['enable_profiler']) { |
| 76 | + $this->registerCollector($container); |
| 77 | + } |
| 78 | + |
74 | 79 | $diDefinition = $container->getDefinition('doctrine.migrations.dependency_factory');
|
75 | 80 |
|
76 | 81 | if (! isset($config['services'][MigrationFactory::class])) {
|
@@ -155,6 +160,19 @@ private function getBundlePath(string $bundleName, ContainerBuilder $container):
|
155 | 160 | return $bundleMetadata[$bundleName]['path'];
|
156 | 161 | }
|
157 | 162 |
|
| 163 | + private function registerCollector(ContainerBuilder $container): void |
| 164 | + { |
| 165 | + $collectorDefinition = new Definition(MigrationsCollector::class); |
| 166 | + $collectorDefinition |
| 167 | + ->addArgument(new Reference('doctrine.migrations.dependency_factory')) |
| 168 | + ->addTag('data_collector', [ |
| 169 | + 'template' => '@DoctrineMigrations/Collector/migrations.html.twig', |
| 170 | + 'id' => 'doctrine_migrations', |
| 171 | + 'priority' => '249', |
| 172 | + ]); |
| 173 | + $container->setDefinition('doctrine_migrations.migrations_collector', $collectorDefinition); |
| 174 | + } |
| 175 | + |
158 | 176 | /**
|
159 | 177 | * Returns the base path for the XSD files.
|
160 | 178 | *
|
|
0 commit comments