[ticket/17525] Provide Doctrine connection object for migrations

PHPBB-17525
This commit is contained in:
rxu 2025-07-01 14:27:38 +07:00
parent 58b3e5dee0
commit 1cadb3818a
No known key found for this signature in database
GPG key ID: 8117904FEDEFDD17
2 changed files with 9 additions and 4 deletions

View file

@ -13,10 +13,10 @@
namespace phpbb\db\migration\data\v400; namespace phpbb\db\migration\data\v400;
use phpbb\db\migration\container_aware_migration; use phpbb\db\migration\migration;
use phpbb\db\doctrine\table_helper; use phpbb\db\doctrine\table_helper;
class rename_duplicated_index_names extends container_aware_migration class rename_duplicated_index_names extends migration
{ {
public static function depends_on() public static function depends_on()
{ {
@ -90,8 +90,7 @@ class rename_duplicated_index_names extends container_aware_migration
public function get_tables_index_names() public function get_tables_index_names()
{ {
$table_keys = []; $table_keys = [];
$doctrine = $this->container->get('dbal.conn.doctrine'); $schema_manager = $this->db_doctrine->createSchemaManager();
$schema_manager = $doctrine->createSchemaManager();
$table_names = $schema_manager->listTableNames(); $table_names = $schema_manager->listTableNames();
if (!empty($table_names)) if (!empty($table_names))

View file

@ -28,6 +28,9 @@ abstract class migration implements migration_interface
/** @var \phpbb\db\driver\driver_interface */ /** @var \phpbb\db\driver\driver_interface */
protected $db; protected $db;
/** @var \Doctrine\DBAL\Connection */
protected $db_doctrine;
/** @var \phpbb\db\tools\tools_interface */ /** @var \phpbb\db\tools\tools_interface */
protected $db_tools; protected $db_tools;
@ -72,6 +75,9 @@ abstract class migration implements migration_interface
$this->php_ext = $php_ext; $this->php_ext = $php_ext;
$this->errors = array(); $this->errors = array();
$phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $php_ext);
$this->db_doctrine = \phpbb\db\doctrine\connection_factory::get_connection($phpbb_config_php_file);
} }
/** /**