diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml
index 9f949bde..1bff5c3d 100644
--- a/.github/workflows/coding-standards.yml
+++ b/.github/workflows/coding-standards.yml
@@ -12,4 +12,4 @@ on:
jobs:
coding-standards:
name: "Coding Standards"
- uses: "doctrine/.github/.github/workflows/coding-standards.yml@7.1.0"
+ uses: "doctrine/.github/.github/workflows/coding-standards.yml@7.2.2"
diff --git a/.github/workflows/composer-lint.yml b/.github/workflows/composer-lint.yml
index 638a1418..a7ad8848 100644
--- a/.github/workflows/composer-lint.yml
+++ b/.github/workflows/composer-lint.yml
@@ -17,4 +17,4 @@ on:
jobs:
composer-lint:
name: "Composer Lint"
- uses: "doctrine/.github/.github/workflows/composer-lint.yml@7.1.0"
+ uses: "doctrine/.github/.github/workflows/composer-lint.yml@7.2.2"
diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml
index ee8c38b5..f75bab45 100644
--- a/.github/workflows/continuous-integration.yml
+++ b/.github/workflows/continuous-integration.yml
@@ -12,7 +12,7 @@ on:
jobs:
phpunit:
name: "PHPUnit"
- uses: "doctrine/.github/.github/workflows/continuous-integration.yml@7.1.0"
+ uses: "doctrine/.github/.github/workflows/continuous-integration.yml@7.2.2"
with:
php-versions: '["7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3", "8.4"]'
secrets:
@@ -20,7 +20,7 @@ jobs:
phpunit-with-dev-deps:
name: "PHPUnit with dev dependencies"
- uses: "doctrine/.github/.github/workflows/continuous-integration-symfony-unstable.yml@7.1.0"
+ uses: "doctrine/.github/.github/workflows/continuous-integration-symfony-unstable.yml@7.2.2"
with:
symfony-version-constraint: "^7"
secrets:
diff --git a/.github/workflows/release-on-milestone-closed.yml b/.github/workflows/release-on-milestone-closed.yml
index 0c4ee4a5..c0bfaa86 100644
--- a/.github/workflows/release-on-milestone-closed.yml
+++ b/.github/workflows/release-on-milestone-closed.yml
@@ -8,7 +8,7 @@ on:
jobs:
release:
name: "Git tag, release & create merge-up PR"
- uses: "doctrine/.github/.github/workflows/release-on-milestone-closed.yml@7.1.0"
+ uses: "doctrine/.github/.github/workflows/release-on-milestone-closed.yml@7.2.2"
secrets:
GIT_AUTHOR_EMAIL: ${{ secrets.GIT_AUTHOR_EMAIL }}
GIT_AUTHOR_NAME: ${{ secrets.GIT_AUTHOR_NAME }}
diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml
index d1e53833..809fb334 100644
--- a/.github/workflows/static-analysis.yml
+++ b/.github/workflows/static-analysis.yml
@@ -12,4 +12,4 @@ on:
jobs:
static-analysis:
name: "Static Analysis"
- uses: "doctrine/.github/.github/workflows/phpstan.yml@7.1.0"
+ uses: "doctrine/.github/.github/workflows/phpstan.yml@7.2.2"
diff --git a/composer.json b/composer.json
index ee7c51fd..11786bdc 100644
--- a/composer.json
+++ b/composer.json
@@ -34,7 +34,6 @@
"composer/semver": "^3.0",
"doctrine/coding-standard": "^12",
"doctrine/orm": "^2.6 || ^3",
- "doctrine/persistence": "^2.0 || ^3",
"phpstan/phpstan": "^1.4 || ^2",
"phpstan/phpstan-deprecation-rules": "^1 || ^2",
"phpstan/phpstan-phpunit": "^1 || ^2",
diff --git a/config/services.xml b/config/services.xml
index a96aa098..53ded478 100644
--- a/config/services.xml
+++ b/config/services.xml
@@ -148,7 +148,7 @@
-
+
diff --git a/src/DependencyInjection/DoctrineMigrationsExtension.php b/src/DependencyInjection/DoctrineMigrationsExtension.php
index 5e6645f2..85a85a76 100644
--- a/src/DependencyInjection/DoctrineMigrationsExtension.php
+++ b/src/DependencyInjection/DoctrineMigrationsExtension.php
@@ -124,6 +124,15 @@ public function load(array $configs, ContainerBuilder $container): void
}
$configurationDefinition->addMethodCall('setMetadataStorageConfiguration', [new Reference('doctrine.migrations.storage.table_storage')]);
+
+ // Add tag to the filter for each Doctrine connection, so the table is ignored for multiple connections
+ if ($container->hasParameter('doctrine.connections')) {
+ /** @var array $connections */
+ $connections = $container->getParameter('doctrine.connections');
+ foreach (array_keys($connections) as $connection) {
+ $filterDefinition->addTag('doctrine.dbal.schema_filter', ['connection' => $connection]);
+ }
+ }
}
if ($config['em'] !== null && $config['connection'] !== null) {
diff --git a/tests/DependencyInjection/DoctrineMigrationsExtensionTest.php b/tests/DependencyInjection/DoctrineMigrationsExtensionTest.php
index 7fba5b1f..b690516e 100644
--- a/tests/DependencyInjection/DoctrineMigrationsExtensionTest.php
+++ b/tests/DependencyInjection/DoctrineMigrationsExtensionTest.php
@@ -279,6 +279,10 @@ public function testCustomConnection(): void
$di = $container->get('doctrine.migrations.dependency_factory');
self::assertInstanceOf(DependencyFactory::class, $di);
self::assertSame($doctrine->getConnection('custom'), $di->getConnection());
+ // Check if the multiple connections also added the required tags to the filter
+ $filterDefinition = $container->findDefinition('doctrine_migrations.schema_filter_listener');
+ $tags = $filterDefinition->getTag('doctrine.dbal.schema_filter');
+ self::assertCount(2, $tags);
}
public function testPrefersEntityManagerOverConnection(): void
@@ -466,9 +470,6 @@ private function getContainer(array $config, ?array $dbalConfig = null, ?array $
$bundle = new DoctrineMigrationsBundle();
$bundle->build($container);
- $extension = new DoctrineMigrationsExtension();
- $extension->load(['doctrine_migrations' => $config], $container);
-
$extension = new DoctrineExtension();
$doctrineBundleConfigs = $dbalConfig === null ? ['dbal' => ['url' => 'sqlite:///:memory:']] : ['dbal' => $dbalConfig];
@@ -478,8 +479,15 @@ private function getContainer(array $config, ?array $dbalConfig = null, ?array $
$extension->load(['doctrine' => $doctrineBundleConfigs], $container);
+ $extension = new DoctrineMigrationsExtension();
+ $extension->load(['doctrine_migrations' => $config], $container);
+
$container->getDefinition('doctrine.migrations.dependency_factory')->setPublic(true);
$container->getDefinition('doctrine.migrations.configuration')->setPublic(true);
+ if ($container->hasDefinition('doctrine_migrations.schema_filter_listener')) {
+ $container->getDefinition('doctrine_migrations.schema_filter_listener')->setPublic(true);
+ }
+
$container->addCompilerPass(new CacheCompatibilityPass());
return $container;