Skip to content

Commit d8cb71f

Browse files
authored
Merge pull request #11906 from xabbuh/dbal-6710
no longer use Table::columnsAreIndexed()
2 parents 0b373f6 + e2430ac commit d8cb71f

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

tests/Tests/ORM/Functional/Ticket/DDC2138Test.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ public function testForeignKeyOnSTIWithMultipleMapping(): void
4242

4343
$table = $schema->getTable('users_followed_objects');
4444
assert($table instanceof DbalTable);
45-
self::assertTrue($table->columnsAreIndexed(['object_id']));
46-
self::assertTrue($table->columnsAreIndexed(['user_id']));
45+
self::assertTrue(self::columnIsIndexed($table, 'object_id'));
46+
self::assertTrue(self::columnIsIndexed($table, 'user_id'));
4747
$foreignKeys = $table->getForeignKeys();
4848
self::assertCount(1, $foreignKeys, 'user_id column has to have FK, but not object_id');
4949

@@ -55,6 +55,17 @@ public function testForeignKeyOnSTIWithMultipleMapping(): void
5555
self::assertContains('user_id', $localColumns);
5656
self::assertCount(1, $localColumns);
5757
}
58+
59+
private static function columnIsIndexed(DbalTable $table, string $column): bool
60+
{
61+
foreach ($table->getIndexes() as $index) {
62+
if ($index->spansColumns([$column])) {
63+
return true;
64+
}
65+
}
66+
67+
return false;
68+
}
5869
}
5970

6071

tests/Tests/ORM/Tools/SchemaToolTest.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Doctrine\Tests\ORM\Tools;
66

77
use Doctrine\Common\Collections\Collection;
8+
use Doctrine\DBAL\Schema\Table as DbalTable;
89
use Doctrine\ORM\Mapping\ClassMetadata;
910
use Doctrine\ORM\Mapping\Column;
1011
use Doctrine\ORM\Mapping\Entity;
@@ -65,7 +66,7 @@ public function testAddUniqueIndexForUniqueFieldAttribute(): void
6566
$schema = $schemaTool->getSchemaFromMetadata($classes);
6667

6768
self::assertTrue($schema->hasTable('cms_users'), 'Table cms_users should exist.');
68-
self::assertTrue($schema->getTable('cms_users')->columnsAreIndexed(['username']), 'username column should be indexed.');
69+
self::assertTrue(self::columnIsIndexed($schema->getTable('cms_users'), 'username'), 'username column should be indexed.');
6970
}
7071

7172
public function testAttributeOptionsArgument(): void
@@ -391,6 +392,17 @@ public function testLoadUniqueConstraintWithoutName(): void
391392
self::assertTrue($tableIndex->isUnique());
392393
self::assertSame(['field', 'anotherField'], $tableIndex->getColumns());
393394
}
395+
396+
private static function columnIsIndexed(DbalTable $table, string $column): bool
397+
{
398+
foreach ($table->getIndexes() as $index) {
399+
if ($index->spansColumns([$column])) {
400+
return true;
401+
}
402+
}
403+
404+
return false;
405+
}
394406
}
395407

396408
#[Table(options: ['foo' => 'bar', 'baz' => ['key' => 'val']])]

0 commit comments

Comments
 (0)