1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/17525] Address the PR review comments

PHPBB-17525
This commit is contained in:
rxu
2025-07-05 12:27:10 +07:00
parent 10921ebc58
commit aa3f266b8c
13 changed files with 48 additions and 54 deletions

View File

@@ -125,7 +125,7 @@ class table_helper
}
/**
* Maps table names to thair short names for the purpose of prefixing tables' index names.
* Maps table names to their short names for the purpose of prefixing tables' index names.
*
* @param array $table_names Table names with prefix to add to the map.
* @param string $table_prefix Tables prefix.

View File

@@ -52,7 +52,7 @@ class rename_duplicated_index_names extends migration
foreach ($key_names as $key_name)
{
// If 'old' key name is already new format, do not rename it
if (doctrine_dbtools::is_prefixed($key_name, $short_table_names[$table_name]))
if (str_starts_with($key_name, $short_table_names[$table_name]))
{
continue;
}

View File

@@ -423,7 +423,7 @@ class doctrine implements tools_interface
*/
public static function add_prefix(string $name, string $prefix): string
{
return strpos($prefix, '_', -1) ? $prefix . $name : $prefix . '_' . $name;
return str_ends_with($prefix, '_') ? $prefix . $name : $prefix . '_' . $name;
}
/**
@@ -431,16 +431,8 @@ class doctrine implements tools_interface
*/
public static function remove_prefix(string $name, string $prefix = ''): string
{
$prefix = strpos($prefix, '_', -1) ? $prefix : $prefix . '_';
return $prefix && self::is_prefixed($name, $prefix) ? substr($name, strlen($prefix)) : $name;
}
/**
* {@inheritDoc}
*/
public static function is_prefixed(string $name, string $prefix): bool
{
return strpos($name, $prefix) === 0;
$prefix = str_ends_with($prefix, '_') ? $prefix : $prefix . '_';
return $prefix && str_starts_with($name, $prefix) ? substr($name, strlen($prefix)) : $name;
}
/**
@@ -692,7 +684,7 @@ class doctrine implements tools_interface
foreach ($table_data['KEYS'] as $key_name => $key_data)
{
$columns = (is_array($key_data[1])) ? $key_data[1] : [$key_data[1]];
$key_name = !self::is_prefixed($key_name, $short_table_name) ? self::add_prefix($key_name, $short_table_name) : $key_name;
$key_name = !str_starts_with($key_name, $short_table_name) ? self::add_prefix($key_name, $short_table_name) : $key_name;
// Supports key columns defined with there length
$columns = array_map(function (string $column)
@@ -725,6 +717,8 @@ class doctrine implements tools_interface
}
/**
* Removes a table
*
* @param Schema $schema
* @param string $table_name
* @param bool $safe_check
@@ -742,6 +736,8 @@ class doctrine implements tools_interface
}
/**
* Adds column to a table
*
* @param Schema $schema
* @param string $table_name
* @param string $column_name
@@ -772,6 +768,8 @@ class doctrine implements tools_interface
}
/**
* Alters column properties
*
* @param Schema $schema
* @param string $table_name
* @param string $column_name
@@ -802,6 +800,8 @@ class doctrine implements tools_interface
}
/**
* Alters column properties or adds a column
*
* @param Schema $schema
* @param string $table_name
* @param string $column_name
@@ -824,6 +824,8 @@ class doctrine implements tools_interface
}
/**
* Removes a column in a table
*
* @param Schema $schema
* @param string $table_name
* @param string $column_name
@@ -876,6 +878,8 @@ class doctrine implements tools_interface
}
/**
* Creates non-unique index for a table
*
* @param Schema $schema
* @param string $table_name
* @param string $index_name
@@ -889,7 +893,7 @@ class doctrine implements tools_interface
$columns = (is_array($column)) ? $column : [$column];
$table = $schema->getTable($table_name);
$short_table_name = table_helper::generate_shortname(self::remove_prefix($table_name, $this->table_prefix));
$index_name = !self::is_prefixed($index_name, $short_table_name) ? self::add_prefix($index_name, $short_table_name) : $index_name;
$index_name = !str_starts_with($index_name, $short_table_name) ? self::add_prefix($index_name, $short_table_name) : $index_name;
if ($safe_check && $table->hasIndex($index_name))
{
@@ -900,6 +904,8 @@ class doctrine implements tools_interface
}
/**
* Renames table index
*
* @param Schema $schema
* @param string $table_name
* @param string $index_name_old
@@ -915,9 +921,9 @@ class doctrine implements tools_interface
if (!$table->hasIndex($index_name_old))
{
$index_name_old = !self::is_prefixed($index_name_old, $short_table_name) ? self::add_prefix($index_name_old, $short_table_name) : self::remove_prefix($index_name_old, $short_table_name);
$index_name_old = !str_starts_with($index_name_old, $short_table_name) ? self::add_prefix($index_name_old, $short_table_name) : self::remove_prefix($index_name_old, $short_table_name);
}
$index_name_new = !self::is_prefixed($index_name_new, $short_table_name) ? self::add_prefix($index_name_new, $short_table_name) : $index_name_new;
$index_name_new = !str_starts_with($index_name_new, $short_table_name) ? self::add_prefix($index_name_new, $short_table_name) : $index_name_new;
if ($safe_check && !$table->hasIndex($index_name_old))
{
@@ -928,6 +934,8 @@ class doctrine implements tools_interface
}
/**
* Creates unique (non-primary) index for a table
*
* @param Schema $schema
* @param string $table_name
* @param string $index_name
@@ -941,7 +949,7 @@ class doctrine implements tools_interface
$columns = (is_array($column)) ? $column : [$column];
$table = $schema->getTable($table_name);
$short_table_name = table_helper::generate_shortname(self::remove_prefix($table_name, $this->table_prefix));
$index_name = !self::is_prefixed($index_name, $short_table_name) ? self::add_prefix($index_name, $short_table_name) : $index_name;
$index_name = !str_starts_with($index_name, $short_table_name) ? self::add_prefix($index_name, $short_table_name) : $index_name;
if ($safe_check && $table->hasIndex($index_name))
{
@@ -952,6 +960,8 @@ class doctrine implements tools_interface
}
/**
* Removes table index
*
* @param Schema $schema
* @param string $table_name
* @param string $index_name
@@ -966,7 +976,7 @@ class doctrine implements tools_interface
if (!$table->hasIndex($index_name))
{
$index_name = !self::is_prefixed($index_name, $short_table_name) ? self::add_prefix($index_name, $short_table_name) : self::remove_prefix($index_name, $short_table_name);
$index_name = !str_starts_with($index_name, $short_table_name) ? self::add_prefix($index_name, $short_table_name) : self::remove_prefix($index_name, $short_table_name);
}
if ($safe_check && !$table->hasIndex($index_name))
@@ -978,6 +988,8 @@ class doctrine implements tools_interface
}
/**
* Creates primary key for a table
*
* @param $column
* @param Schema $schema
* @param string $table_name

View File

@@ -255,16 +255,6 @@ interface tools_interface
*/
public static function remove_prefix(string $name, string $prefix = ''): string;
/**
* Tests if a string is prefixed with the prefix defined
*
* @param string $name String to test vs prefix
* @param string $prefix Prefix name
*
* @return bool True if a string id prefixed with the prefix defined, false otherwise
*/
public static function is_prefixed(string $name, string $prefix): bool;
/**
* Sets table prefix
*