Skip to content

Commit 59fdc8f

Browse files
committed
Kill DBAL 2 support
1 parent 4d83313 commit 59fdc8f

File tree

44 files changed

+267
-1192
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+267
-1192
lines changed

.github/expected-missing-return-types.diff

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,6 @@ diff --git a/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
1111
index ada5fcbd49..51af652f08 100644
1212
--- a/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
1313
+++ b/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
14-
@@ -51,5 +51,5 @@ class DoctrineDataCollector extends DataCollector
15-
* @return void
16-
*/
17-
- public function addLogger(string $name, DebugStack $logger)
18-
+ public function addLogger(string $name, DebugStack $logger): void
19-
{
20-
$this->loggers[$name] = $logger;
2114
@@ -59,5 +59,5 @@ class DoctrineDataCollector extends DataCollector
2215
* @return void
2316
*/
@@ -201,17 +194,6 @@ index c096b558db..8d584900a9 100644
201194
+ public function configureOptions(OptionsResolver $resolver): void
202195
{
203196
parent::configureOptions($resolver);
204-
diff --git a/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php b/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php
205-
index b2369e95d6..c33484608e 100644
206-
--- a/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php
207-
+++ b/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php
208-
@@ -52,5 +52,5 @@ class DbalLogger implements SQLLogger
209-
* @return void
210-
*/
211-
- protected function log(string $message, array $params)
212-
+ protected function log(string $message, array $params): void
213-
{
214-
$this->logger->debug($message, $params);
215197
diff --git a/src/Symfony/Bridge/Doctrine/Messenger/DoctrineClearEntityManagerWorkerSubscriber.php b/src/Symfony/Bridge/Doctrine/Messenger/DoctrineClearEntityManagerWorkerSubscriber.php
216198
index 38618fc15e..eb599eb0b4 100644
217199
--- a/src/Symfony/Bridge/Doctrine/Messenger/DoctrineClearEntityManagerWorkerSubscriber.php

UPGRADE-7.0.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ Symfony 6.4 and Symfony 7.0 will be released simultaneously at the end of Novemb
55
release process, both versions will have the same features, but Symfony 7.0 won't include any deprecated features.
66
To upgrade, make sure to resolve all deprecation notices.
77

8+
DoctrineBridge
9+
--------------
10+
11+
* Remove `DoctrineDbalCacheAdapterSchemaSubscriber`, use `DoctrineDbalCacheAdapterSchemaListener` instead
12+
* Remove `MessengerTransportDoctrineSchemaSubscriber`, use `MessengerTransportDoctrineSchemaListener` instead
13+
* Remove `RememberMeTokenProviderDoctrineSchemaSubscriber`, use `RememberMeTokenProviderDoctrineSchemaListener` instead
14+
815
Serializer
916
----------
1017

composer.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@
131131
"doctrine/annotations": "^1.13.1|^2",
132132
"doctrine/collections": "^1.0|^2.0",
133133
"doctrine/data-fixtures": "^1.1",
134-
"doctrine/dbal": "^2.13.1|^3.0",
135-
"doctrine/orm": "^2.12",
134+
"doctrine/dbal": "^3.6",
135+
"doctrine/orm": "^2.15",
136136
"dragonmantank/cron-expression": "^3",
137137
"egulias/email-validator": "^2.1.10|^3.1|^4",
138138
"guzzlehttp/promises": "^1.4",
@@ -163,7 +163,8 @@
163163
"ext-psr": "<1.1|>=2",
164164
"async-aws/core": "<1.5",
165165
"doctrine/annotations": "<1.13.1",
166-
"doctrine/dbal": "<2.13.1",
166+
"doctrine/dbal": "<3.6",
167+
"doctrine/orm": "<2.15",
167168
"egulias/email-validator": "~3.0.0",
168169
"masterminds/html5": "<2.6",
169170
"phpdocumentor/reflection-docblock": "<5.2",

src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php

Lines changed: 4 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
namespace Symfony\Bridge\Doctrine\DataCollector;
1313

14-
use Doctrine\DBAL\Logging\DebugStack;
1514
use Doctrine\DBAL\Types\ConversionException;
1615
use Doctrine\DBAL\Types\Type;
1716
use Doctrine\Persistence\ManagerRegistry;
@@ -32,29 +31,14 @@ class DoctrineDataCollector extends DataCollector
3231
private array $connections;
3332
private array $managers;
3433

35-
/**
36-
* @var array<string, DebugStack>
37-
*/
38-
private array $loggers = [];
39-
4034
public function __construct(
4135
private ManagerRegistry $registry,
42-
private ?DebugDataHolder $debugDataHolder = null,
36+
private DebugDataHolder $debugDataHolder,
4337
) {
4438
$this->connections = $registry->getConnectionNames();
4539
$this->managers = $registry->getManagerNames();
4640
}
4741

48-
/**
49-
* Adds the stack logger for a connection.
50-
*
51-
* @return void
52-
*/
53-
public function addLogger(string $name, DebugStack $logger)
54-
{
55-
$this->loggers[$name] = $logger;
56-
}
57-
5842
/**
5943
* @return void
6044
*/
@@ -71,16 +55,8 @@ private function collectQueries(): array
7155
{
7256
$queries = [];
7357

74-
if (null !== $this->debugDataHolder) {
75-
foreach ($this->debugDataHolder->getData() as $name => $data) {
76-
$queries[$name] = $this->sanitizeQueries($name, $data);
77-
}
78-
79-
return $queries;
80-
}
81-
82-
foreach ($this->loggers as $name => $logger) {
83-
$queries[$name] = $this->sanitizeQueries($name, $logger->queries);
58+
foreach ($this->debugDataHolder->getData() as $name => $data) {
59+
$queries[$name] = $this->sanitizeQueries($name, $data);
8460
}
8561

8662
return $queries;
@@ -92,17 +68,7 @@ private function collectQueries(): array
9268
public function reset()
9369
{
9470
$this->data = [];
95-
96-
if (null !== $this->debugDataHolder) {
97-
$this->debugDataHolder->reset();
98-
99-
return;
100-
}
101-
102-
foreach ($this->loggers as $logger) {
103-
$logger->queries = [];
104-
$logger->currentQuery = 0;
105-
}
71+
$this->debugDataHolder->reset();
10672
}
10773

10874
public function getManagers()

src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
namespace Symfony\Bridge\Doctrine\Form\ChoiceList;
1313

1414
use Doctrine\DBAL\ArrayParameterType;
15-
use Doctrine\DBAL\Connection;
1615
use Doctrine\DBAL\Types\ConversionException;
1716
use Doctrine\DBAL\Types\Type;
1817
use Doctrine\ORM\QueryBuilder;
@@ -71,13 +70,13 @@ public function getEntitiesByIds(string $identifier, array $values): array
7170
$entity = current($qb->getRootEntities());
7271
$metadata = $qb->getEntityManager()->getClassMetadata($entity);
7372
if (\in_array($type = $metadata->getTypeOfField($identifier), ['integer', 'bigint', 'smallint'])) {
74-
$parameterType = class_exists(ArrayParameterType::class) ? ArrayParameterType::INTEGER : Connection::PARAM_INT_ARRAY;
73+
$parameterType = ArrayParameterType::INTEGER;
7574

7675
// Filter out non-integer values (e.g. ""). If we don't, some
7776
// databases such as PostgreSQL fail.
7877
$values = array_values(array_filter($values, fn ($v) => (string) $v === (string) (int) $v || ctype_digit($v)));
7978
} elseif (\in_array($type, ['ulid', 'uuid', 'guid'])) {
80-
$parameterType = class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY;
79+
$parameterType = ArrayParameterType::STRING;
8180

8281
// Like above, but we just filter out empty strings.
8382
$values = array_values(array_filter($values, fn ($v) => '' !== (string) $v));
@@ -96,7 +95,7 @@ public function getEntitiesByIds(string $identifier, array $values): array
9695
unset($value);
9796
}
9897
} else {
99-
$parameterType = class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY;
98+
$parameterType = ArrayParameterType::STRING;
10099
}
101100
if (!$values) {
102101
return [];

src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php

Lines changed: 0 additions & 87 deletions
This file was deleted.

src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
use Doctrine\ORM\EntityManagerInterface;
1717
use Doctrine\ORM\Mapping\ClassMetadata;
1818
use Doctrine\ORM\Mapping\ClassMetadataInfo;
19-
use Doctrine\ORM\Mapping\Embedded;
2019
use Doctrine\ORM\Mapping\MappingException as OrmMappingException;
2120
use Doctrine\Persistence\Mapping\MappingException;
2221
use Symfony\Component\PropertyInfo\PropertyAccessExtractorInterface;
@@ -46,7 +45,7 @@ public function getProperties(string $class, array $context = []): ?array
4645

4746
$properties = array_merge($metadata->getFieldNames(), $metadata->getAssociationNames());
4847

49-
if ($metadata instanceof ClassMetadataInfo && class_exists(Embedded::class) && $metadata->embeddedClasses) {
48+
if ($metadata instanceof ClassMetadataInfo && $metadata->embeddedClasses) {
5049
$properties = array_filter($properties, fn ($property) => !str_contains($property, '.'));
5150

5251
$properties = array_merge($properties, array_keys($metadata->embeddedClasses));
@@ -122,7 +121,7 @@ public function getTypes(string $class, string $property, array $context = []):
122121
)];
123122
}
124123

125-
if ($metadata instanceof ClassMetadataInfo && class_exists(Embedded::class) && isset($metadata->embeddedClasses[$property])) {
124+
if ($metadata instanceof ClassMetadataInfo && isset($metadata->embeddedClasses[$property])) {
126125
return [new Type(Type::BUILTIN_TYPE_OBJECT, false, $metadata->embeddedClasses[$property]['class'])];
127126
}
128127

src/Symfony/Bridge/Doctrine/SchemaListener/DoctrineDbalCacheAdapterSchemaSubscriber.php

Lines changed: 0 additions & 39 deletions
This file was deleted.

src/Symfony/Bridge/Doctrine/SchemaListener/MessengerTransportDoctrineSchemaSubscriber.php

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy