diff --git a/psalm.xml.dist b/psalm.xml.dist index 34c2365ac4..9fabad3812 100644 --- a/psalm.xml.dist +++ b/psalm.xml.dist @@ -53,7 +53,6 @@ - diff --git a/src/Schema/TableDiff.php b/src/Schema/TableDiff.php index 4d588dd4b3..12b988cca7 100644 --- a/src/Schema/TableDiff.php +++ b/src/Schema/TableDiff.php @@ -4,8 +4,6 @@ namespace Doctrine\DBAL\Schema; -use Doctrine\Deprecations\Deprecation; - use function array_filter; use function count; @@ -68,32 +66,6 @@ public function getDroppedColumns(): array return $this->droppedColumns; } - /** - * @deprecated Use {@see getModifiedColumns()} instead. - * - * @return array - */ - public function getRenamedColumns(): array - { - Deprecation::triggerIfCalledFromOutside( - 'doctrine/dbal', - 'https://github.com/doctrine/dbal/pull/6080', - '%s is deprecated, you should use `getModifiedColumns()` instead.', - __METHOD__, - ); - $renamed = []; - foreach ($this->getChangedColumns() as $diff) { - if (! $diff->hasNameChanged()) { - continue; - } - - $oldColumnName = $diff->getOldColumn()->getName(); - $renamed[$oldColumnName] = $diff->getNewColumn(); - } - - return $renamed; - } - /** @return array */ public function getAddedIndexes(): array { diff --git a/tests/Functional/Platform/RenameColumnTest.php b/tests/Functional/Platform/RenameColumnTest.php index 5e69982c43..93d800bedc 100644 --- a/tests/Functional/Platform/RenameColumnTest.php +++ b/tests/Functional/Platform/RenameColumnTest.php @@ -4,7 +4,9 @@ namespace Doctrine\DBAL\Tests\Functional\Platform; +use Doctrine\DBAL\Schema\Column; use Doctrine\DBAL\Schema\Table; +use Doctrine\DBAL\Schema\TableDiff; use Doctrine\DBAL\Tests\FunctionalTestCase; use Doctrine\DBAL\Types\Type; use Doctrine\DBAL\Types\Types; @@ -35,7 +37,23 @@ public function testColumnPositionRetainedAfterImplicitRenaming(string $columnNa self::assertCount(2, $columns); self::assertEqualsIgnoringCase($newColumnName, $columns[0]->getName()); self::assertEqualsIgnoringCase('c2', $columns[1]->getName()); - self::assertCount(1, $diff->getRenamedColumns()); + self::assertCount(1, self::getRenamedColumns($diff)); + } + + /** @return array */ + public static function getRenamedColumns(TableDiff $tableDiff): array + { + $renamed = []; + foreach ($tableDiff->getChangedColumns() as $diff) { + if (! $diff->hasNameChanged()) { + continue; + } + + $oldColumnName = $diff->getOldColumn()->getName(); + $renamed[$oldColumnName] = $diff->getNewColumn(); + } + + return $renamed; } /** @dataProvider columnNameProvider */ diff --git a/tests/Functional/Schema/ComparatorTest.php b/tests/Functional/Schema/ComparatorTest.php index 5d7e81a411..925576a3cf 100644 --- a/tests/Functional/Schema/ComparatorTest.php +++ b/tests/Functional/Schema/ComparatorTest.php @@ -9,6 +9,7 @@ use Doctrine\DBAL\Schema\AbstractSchemaManager; use Doctrine\DBAL\Schema\Comparator; use Doctrine\DBAL\Schema\Table; +use Doctrine\DBAL\Tests\Functional\Platform\RenameColumnTest; use Doctrine\DBAL\Tests\FunctionalTestCase; use Doctrine\DBAL\Types\Type; use Doctrine\DBAL\Types\Types; @@ -70,10 +71,11 @@ public function testRenameColumnComparison(): void ->setNotnull(false) ->setType(Type::getType(Types::BIGINT)); - $compareResult = $comparator->compareTables($onlineTable, $table); + $compareResult = $comparator->compareTables($onlineTable, $table); + $renamedColumns = RenameColumnTest::getRenamedColumns($compareResult); self::assertCount(3, $compareResult->getChangedColumns()); - self::assertCount(2, $compareResult->getRenamedColumns()); - self::assertArrayHasKey('test2', $compareResult->getRenamedColumns()); + self::assertCount(2, $renamedColumns); + self::assertArrayHasKey('test2', $renamedColumns); $renamedOnly = $compareResult->getChangedColumns()['test2']; $renamedAndModified = $compareResult->getChangedColumns()['test']; diff --git a/tests/Schema/AbstractComparatorTestCase.php b/tests/Schema/AbstractComparatorTestCase.php index 5b9ec5a18b..b478713612 100644 --- a/tests/Schema/AbstractComparatorTestCase.php +++ b/tests/Schema/AbstractComparatorTestCase.php @@ -16,6 +16,7 @@ use Doctrine\DBAL\Schema\Sequence; use Doctrine\DBAL\Schema\Table; use Doctrine\DBAL\Schema\TableDiff; +use Doctrine\DBAL\Tests\Functional\Platform\RenameColumnTest; use Doctrine\DBAL\Types\Type; use Doctrine\DBAL\Types\Types; use PHPUnit\Framework\TestCase; @@ -174,7 +175,7 @@ public function testCompareChangeColumnsMultipleNewColumnsRename(): void $tableDiff = $this->comparator->compareTables($tableA, $tableB); - $renamedColumns = $tableDiff->getRenamedColumns(); + $renamedColumns = RenameColumnTest::getRenamedColumns($tableDiff); self::assertCount(1, $renamedColumns); self::assertArrayHasKey('datecolumn1', $renamedColumns); self::assertEquals(['new_datecolumn2'], $this->getAssetNames($tableDiff->getAddedColumns())); @@ -391,7 +392,7 @@ public function testDetectRenameColumn(): void self::assertCount(0, $tableDiff->getAddedColumns()); self::assertCount(0, $tableDiff->getDroppedColumns()); - $renamedColumns = $tableDiff->getRenamedColumns(); + $renamedColumns = RenameColumnTest::getRenamedColumns($tableDiff); self::assertArrayHasKey('foo', $renamedColumns); self::assertEquals('bar', $renamedColumns['foo']->getName()); } @@ -414,7 +415,7 @@ public function testDetectRenameColumnAmbiguous(): void self::assertEquals(['baz'], $this->getAssetNames($tableDiff->getAddedColumns())); self::assertEquals(['foo', 'bar'], $this->getAssetNames($tableDiff->getDroppedColumns())); - self::assertCount(0, $tableDiff->getRenamedColumns()); + self::assertCount(0, RenameColumnTest::getRenamedColumns($tableDiff)); } public function testDetectRenameIndex(): void @@ -496,7 +497,7 @@ public function testDiff(): void $tableDiff = $this->comparator->compareTables($table, $newtable); - self::assertEquals(['twitterId', 'displayName'], array_keys($tableDiff->getRenamedColumns())); + self::assertEquals(['twitterId', 'displayName'], array_keys(RenameColumnTest::getRenamedColumns($tableDiff))); self::assertEquals(['logged_in_at'], $this->getAssetNames($tableDiff->getAddedColumns())); self::assertCount(0, $tableDiff->getDroppedColumns()); }