Skip to content

Commit 6b0f56e

Browse files
authored
Merge pull request #6854 from marc1706/ticket/17546
[ticket/17546] Fix create_schema_files with rename_duplicated_index_names
2 parents 5d9310e + 261c6e1 commit 6b0f56e

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

phpBB/develop/create_schema_files.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,33 @@
5656
$ref = new ReflectionClass(\Doctrine\DBAL\Connection::class);
5757
$db_doctrine = $ref->newInstanceWithoutConstructor();
5858

59+
// Create a mock SchemaManager that returns an empty array for listTableNames()
60+
$schema_manager_mock = new class extends \Doctrine\DBAL\Schema\SqliteSchemaManager {
61+
public function listTableNames() {
62+
return [];
63+
}
64+
65+
public function __construct()
66+
{
67+
//parent::__construct($connection, $platform);
68+
}
69+
};
70+
71+
$schema_manager_factory_mock = new class($schema_manager_mock) implements \Doctrine\DBAL\Schema\SchemaManagerFactory {
72+
private $schema_manager;
73+
public function __construct($schema_manager) {
74+
$this->schema_manager = $schema_manager;
75+
}
76+
public function createSchemaManager($connection): \Doctrine\DBAL\Schema\AbstractSchemaManager
77+
{
78+
return $this->schema_manager;
79+
}
80+
};
81+
82+
$schema_manager_factory = new \ReflectionProperty($db_doctrine, 'schemaManagerFactory');
83+
$schema_manager_factory->setAccessible(true);
84+
$schema_manager_factory->setValue($db_doctrine, new $schema_manager_factory_mock($schema_manager_mock));
85+
5986
$factory = new \phpbb\db\tools\factory();
6087
$db_tools = $factory->get($db_doctrine, true);
6188
$db_tools->set_table_prefix($table_prefix);

0 commit comments

Comments
 (0)