55namespace Doctrine \DBAL \Tests \Functional \Platform ;
66
77use Doctrine \DBAL \Schema \Column ;
8+ use Doctrine \DBAL \Schema \Name \UnqualifiedName ;
89use Doctrine \DBAL \Schema \Table ;
910use Doctrine \DBAL \Schema \TableDiff ;
1011use Doctrine \DBAL \Tests \FunctionalTestCase ;
1112use Doctrine \DBAL \Types \Type ;
1213use Doctrine \DBAL \Types \Types ;
1314use PHPUnit \Framework \Attributes \DataProvider ;
1415
16+ use function array_map ;
17+
1518class RenameColumnTest extends FunctionalTestCase
1619{
1720 /**
@@ -55,12 +58,16 @@ public function testColumnPositionRetainedAfterImplicitRenaming(string $oldColum
5558
5659 $ sm ->alterTable ($ diff );
5760
58- $ table = $ sm ->introspectTable ('test_rename ' );
59- $ columns = $ table ->getColumns ();
61+ $ table = $ sm ->introspectTable ('test_rename ' );
62+
63+ $ this ->assertUnqualifiedNameListEquals ([
64+ UnqualifiedName::unquoted ($ newColumnName ),
65+ UnqualifiedName::unquoted ('c2 ' ),
66+ ], array_map (
67+ static fn (Column $ column ): UnqualifiedName => $ column ->getObjectName (),
68+ $ table ->getColumns (),
69+ ));
6070
61- self ::assertCount (2 , $ columns );
62- self ::assertEqualsIgnoringCase ($ newColumnName , $ columns [0 ]->getName ());
63- self ::assertEqualsIgnoringCase ('c2 ' , $ columns [1 ]->getName ());
6471 self ::assertCount (1 , self ::getRenamedColumns ($ diff ));
6572 self ::assertCount (1 , $ diff ->getRenamedColumns ());
6673 }
@@ -74,7 +81,10 @@ public static function getRenamedColumns(TableDiff $tableDiff): array
7481 continue ;
7582 }
7683
77- $ oldColumnName = $ diff ->getOldColumn ()->getName ();
84+ $ oldColumnName = $ diff ->getOldColumn ()
85+ ->getObjectName ()
86+ ->toString ();
87+
7888 $ renamed [$ oldColumnName ] = $ diff ->getNewColumn ();
7989 }
8090
@@ -116,22 +126,26 @@ public function testColumnPositionRetainedAfterExplicitRenaming(string $oldColum
116126
117127 $ sm ->alterTable ($ diff );
118128
119- $ table = $ sm ->introspectTable ('test_rename ' );
120- $ columns = $ table ->getColumns ();
129+ $ table = $ sm ->introspectTable ('test_rename ' );
121130
122131 self ::assertCount (1 , $ diff ->getChangedColumns ());
123132 self ::assertCount (1 , $ diff ->getRenamedColumns ());
124133 self ::assertCount (1 , $ diff ->getModifiedColumns ());
125- self ::assertCount (2 , $ columns );
126- self ::assertEqualsIgnoringCase ($ newColumnName , $ columns [0 ]->getName ());
127- self ::assertEqualsIgnoringCase ('c2 ' , $ columns [1 ]->getName ());
134+
135+ $ this ->assertUnqualifiedNameListEquals ([
136+ UnqualifiedName::unquoted ($ newColumnName ),
137+ UnqualifiedName::unquoted ('c2 ' ),
138+ ], array_map (
139+ static fn (Column $ column ): UnqualifiedName => $ column ->getObjectName (),
140+ $ table ->getColumns (),
141+ ));
128142 }
129143
130144 /** @return iterable<array{non-empty-string,non-empty-string}> */
131145 public static function columnNameProvider (): iterable
132146 {
133147 yield ['c1 ' , 'c1_x ' ];
134148 yield ['C1 ' , 'c1_x ' ];
135- yield ['importantColumn ' , 'veryImportantColumn ' ];
149+ yield ['importantColumn ' , 'very_important_column ' ];
136150 }
137151}
0 commit comments