66
77use Doctrine \DBAL \Exception ;
88use Doctrine \DBAL \Schema \Column ;
9+ use Doctrine \DBAL \Schema \Name \UnqualifiedName ;
910use Doctrine \DBAL \Schema \Table ;
1011use Doctrine \DBAL \Schema \TableDiff ;
1112use Doctrine \DBAL \Tests \FunctionalTestCase ;
1213use Doctrine \DBAL \Types \Type ;
1314use Doctrine \DBAL \Types \Types ;
1415use PHPUnit \Framework \Attributes \DataProvider ;
1516
17+ use function array_map ;
18+
1619class RenameColumnTest extends FunctionalTestCase
1720{
1821 /**
@@ -56,12 +59,16 @@ public function testColumnPositionRetainedAfterImplicitRenaming(string $oldColum
5659
5760 $ sm ->alterTable ($ diff );
5861
59- $ table = $ sm ->introspectTable ('test_rename ' );
60- $ columns = $ table ->getColumns ();
62+ $ table = $ sm ->introspectTable ('test_rename ' );
63+
64+ $ this ->assertUnqualifiedNameListEquals ([
65+ UnqualifiedName::unquoted ($ newColumnName ),
66+ UnqualifiedName::unquoted ('c2 ' ),
67+ ], array_map (
68+ static fn (Column $ column ): UnqualifiedName => $ column ->getObjectName (),
69+ $ table ->getColumns (),
70+ ));
6171
62- self ::assertCount (2 , $ columns );
63- self ::assertEqualsIgnoringCase ($ newColumnName , $ columns [0 ]->getName ());
64- self ::assertEqualsIgnoringCase ('c2 ' , $ columns [1 ]->getName ());
6572 self ::assertCount (1 , self ::getRenamedColumns ($ diff ));
6673 self ::assertCount (1 , $ diff ->getRenamedColumns ());
6774 }
@@ -75,7 +82,10 @@ public static function getRenamedColumns(TableDiff $tableDiff): array
7582 continue ;
7683 }
7784
78- $ oldColumnName = $ diff ->getOldColumn ()->getName ();
85+ $ oldColumnName = $ diff ->getOldColumn ()
86+ ->getObjectName ()
87+ ->toString ();
88+
7989 $ renamed [$ oldColumnName ] = $ diff ->getNewColumn ();
8090 }
8191
@@ -117,23 +127,27 @@ public function testColumnPositionRetainedAfterExplicitRenaming(string $oldColum
117127
118128 $ sm ->alterTable ($ diff );
119129
120- $ table = $ sm ->introspectTable ('test_rename ' );
121- $ columns = $ table ->getColumns ();
130+ $ table = $ sm ->introspectTable ('test_rename ' );
122131
123132 self ::assertCount (1 , $ diff ->getChangedColumns ());
124133 self ::assertCount (1 , $ diff ->getRenamedColumns ());
125134 self ::assertCount (1 , $ diff ->getModifiedColumns ());
126- self ::assertCount (2 , $ columns );
127- self ::assertEqualsIgnoringCase ($ newColumnName , $ columns [0 ]->getName ());
128- self ::assertEqualsIgnoringCase ('c2 ' , $ columns [1 ]->getName ());
135+
136+ $ this ->assertUnqualifiedNameListEquals ([
137+ UnqualifiedName::unquoted ($ newColumnName ),
138+ UnqualifiedName::unquoted ('c2 ' ),
139+ ], array_map (
140+ static fn (Column $ column ): UnqualifiedName => $ column ->getObjectName (),
141+ $ table ->getColumns (),
142+ ));
129143 }
130144
131145 /** @return iterable<array{non-empty-string,non-empty-string}> */
132146 public static function columnNameProvider (): iterable
133147 {
134148 yield ['c1 ' , 'c1_x ' ];
135149 yield ['C1 ' , 'c1_x ' ];
136- yield ['importantColumn ' , 'veryImportantColumn ' ];
150+ yield ['importantColumn ' , 'very_important_column ' ];
137151 }
138152
139153 /** @throws Exception */
0 commit comments