Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1f77f32

Browse files
committed
Merge branch '5.1'
* 5.1: fix merge stop using the deprecated schema synchronizer API
2 parents28ede1f +60ce71e commit1f77f32

File tree

3 files changed

+29
-22
lines changed

3 files changed

+29
-22
lines changed

‎src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/ConnectionTest.php‎

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
useDoctrine\DBAL\Schema\AbstractSchemaManager;
1919
useDoctrine\DBAL\Schema\Schema;
2020
useDoctrine\DBAL\Schema\SchemaConfig;
21-
useDoctrine\DBAL\Schema\Synchronizer\SchemaSynchronizer;
2221
useDoctrine\DBAL\Statement;
2322
usePHPUnit\Framework\TestCase;
2423
useSymfony\Component\Messenger\Bridge\Doctrine\Tests\Fixtures\DummyMessage;
@@ -30,7 +29,6 @@ public function testGetAMessageWillChangeItsStatus()
3029
{
3130
$queryBuilder =$this->getQueryBuilderMock();
3231
$driverConnection =$this->getDBALConnectionMock();
33-
$schemaSynchronizer =$this->getSchemaSynchronizerMock();
3432
$stmt =$this->getResultMock([
3533
'id' =>1,
3634
'body' =>'{"message":"Hi"}',
@@ -53,7 +51,7 @@ public function testGetAMessageWillChangeItsStatus()
5351
->method('executeQuery')
5452
->willReturn($stmt);
5553

56-
$connection =newConnection([],$driverConnection,$schemaSynchronizer);
54+
$connection =newConnection([],$driverConnection);
5755
$doctrineEnvelope =$connection->get();
5856
$this->assertEquals(1,$doctrineEnvelope['id']);
5957
$this->assertEquals('{"message":"Hi"}',$doctrineEnvelope['body']);
@@ -64,7 +62,6 @@ public function testGetWithNoPendingMessageWillReturnNull()
6462
{
6563
$queryBuilder =$this->getQueryBuilderMock();
6664
$driverConnection =$this->getDBALConnectionMock();
67-
$schemaSynchronizer =$this->getSchemaSynchronizerMock();
6865
$stmt =$this->getResultMock(false);
6966

7067
$queryBuilder
@@ -82,7 +79,7 @@ public function testGetWithNoPendingMessageWillReturnNull()
8279
->method('executeQuery')
8380
->willReturn($stmt);
8481

85-
$connection =newConnection([],$driverConnection,$schemaSynchronizer);
82+
$connection =newConnection([],$driverConnection);
8683
$doctrineEnvelope =$connection->get();
8784
$this->assertNull($doctrineEnvelope);
8885
}
@@ -155,11 +152,6 @@ private function getResultMock($expectedResult)
155152
return$stmt;
156153
}
157154

158-
privatefunctiongetSchemaSynchronizerMock():SchemaSynchronizer
159-
{
160-
return$this->createMock(SchemaSynchronizer::class);
161-
}
162-
163155
/**
164156
* @dataProvider buildConfigurationProvider
165157
*/
@@ -264,7 +256,6 @@ public function testFind()
264256
{
265257
$queryBuilder =$this->getQueryBuilderMock();
266258
$driverConnection =$this->getDBALConnectionMock();
267-
$schemaSynchronizer =$this->getSchemaSynchronizerMock();
268259
$id =1;
269260
$stmt =$this->getResultMock([
270261
'id' =>$id,
@@ -288,7 +279,7 @@ public function testFind()
288279
->method('executeQuery')
289280
->willReturn($stmt);
290281

291-
$connection =newConnection([],$driverConnection,$schemaSynchronizer);
282+
$connection =newConnection([],$driverConnection);
292283
$doctrineEnvelope =$connection->find($id);
293284
$this->assertEquals(1,$doctrineEnvelope['id']);
294285
$this->assertEquals('{"message":"Hi"}',$doctrineEnvelope['body']);
@@ -299,7 +290,6 @@ public function testFindAll()
299290
{
300291
$queryBuilder =$this->getQueryBuilderMock();
301292
$driverConnection =$this->getDBALConnectionMock();
302-
$schemaSynchronizer =$this->getSchemaSynchronizerMock();
303293
$message1 = [
304294
'id' =>1,
305295
'body' =>'{"message":"Hi"}',
@@ -335,7 +325,7 @@ public function testFindAll()
335325
->method('executeQuery')
336326
->willReturn($stmt);
337327

338-
$connection =newConnection([],$driverConnection,$schemaSynchronizer);
328+
$connection =newConnection([],$driverConnection);
339329
$doctrineEnvelopes =$connection->findAll();
340330

341331
$this->assertEquals(1,$doctrineEnvelopes[0]['id']);

‎src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/PostgreSqlConnectionTest.php‎

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

1212
namespaceSymfony\Component\Messenger\Bridge\Doctrine\Tests\Transport;
1313

14-
useDoctrine\DBAL\Schema\Synchronizer\SchemaSynchronizer;
1514
useDoctrine\DBAL\Schema\Table;
1615
usePHPUnit\Framework\TestCase;
1716
useSymfony\Component\Messenger\Bridge\Doctrine\Transport\PostgreSqlConnection;
@@ -26,10 +25,9 @@ public function testSerialize()
2625
$this->expectException(\BadMethodCallException::class);
2726
$this->expectExceptionMessage('Cannot serialize'.PostgreSqlConnection::class);
2827

29-
$schemaSynchronizer =$this->createMock(SchemaSynchronizer::class);
3028
$driverConnection =$this->createMock(\Doctrine\DBAL\Connection::class);
3129

32-
$connection =newPostgreSqlConnection([],$driverConnection,$schemaSynchronizer);
30+
$connection =newPostgreSqlConnection([],$driverConnection);
3331
serialize($connection);
3432
}
3533

@@ -38,10 +36,9 @@ public function testUnserialize()
3836
$this->expectException(\BadMethodCallException::class);
3937
$this->expectExceptionMessage('Cannot unserialize'.PostgreSqlConnection::class);
4038

41-
$schemaSynchronizer =$this->createMock(SchemaSynchronizer::class);
4239
$driverConnection =$this->createMock(\Doctrine\DBAL\Connection::class);
4340

44-
$connection =newPostgreSqlConnection([],$driverConnection,$schemaSynchronizer);
41+
$connection =newPostgreSqlConnection([],$driverConnection);
4542
$connection->__wakeup();
4643
}
4744

‎src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/Connection.php‎

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
useDoctrine\DBAL\Driver\Result;
1717
useDoctrine\DBAL\Exception\TableNotFoundException;
1818
useDoctrine\DBAL\Query\QueryBuilder;
19+
useDoctrine\DBAL\Schema\Comparator;
1920
useDoctrine\DBAL\Schema\Schema;
2021
useDoctrine\DBAL\Schema\Synchronizer\SchemaSynchronizer;
21-
useDoctrine\DBAL\Schema\Synchronizer\SingleDatabaseSynchronizer;
2222
useDoctrine\DBAL\Schema\Table;
2323
useDoctrine\DBAL\Types\Types;
2424
useSymfony\Component\Messenger\Exception\InvalidArgumentException;
@@ -63,7 +63,7 @@ public function __construct(array $configuration, DBALConnection $driverConnecti
6363
{
6464
$this->configuration =array_replace_recursive(static::DEFAULT_OPTIONS,$configuration);
6565
$this->driverConnection =$driverConnection;
66-
$this->schemaSynchronizer =$schemaSynchronizer ??newSingleDatabaseSynchronizer($this->driverConnection);
66+
$this->schemaSynchronizer =$schemaSynchronizer;
6767
$this->autoSetup =$this->configuration['auto_setup'];
6868
}
6969

@@ -226,7 +226,7 @@ public function setup(): void
226226
$configuration =$this->driverConnection->getConfiguration();
227227
$assetFilter =$configuration->getSchemaAssetsFilter();
228228
$configuration->setSchemaAssetsFilter(null);
229-
$this->schemaSynchronizer->updateSchema($this->getSchema(),true);
229+
$this->updateSchema();
230230
$configuration->setSchemaAssetsFilter($assetFilter);
231231
$this->autoSetup =false;
232232
}
@@ -406,5 +406,25 @@ private function decodeEnvelopeHeaders(array $doctrineEnvelope): array
406406

407407
return$doctrineEnvelope;
408408
}
409+
410+
privatefunctionupdateSchema():void
411+
{
412+
if (null !==$this->schemaSynchronizer) {
413+
$this->schemaSynchronizer->updateSchema($this->getSchema(),true);
414+
415+
return;
416+
}
417+
418+
$comparator =newComparator();
419+
$schemaDiff =$comparator->compare($this->driverConnection->getSchemaManager()->createSchema(),$this->getSchema());
420+
421+
foreach ($schemaDiff->toSaveSql($this->driverConnection->getDatabasePlatform())as$sql) {
422+
if (method_exists($this->driverConnection,'executeStatement')) {
423+
$this->driverConnection->executeStatement($sql);
424+
}else {
425+
$this->driverConnection->exec($sql);
426+
}
427+
}
428+
}
409429
}
410430
class_alias(Connection::class, \Symfony\Component\Messenger\Transport\Doctrine\Connection::class);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp