mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-27 21:58:52 +00:00
[ticket/10003] Ported 5553cfc2ed
to db_tools.
The diff in database_update was only partially relevant. PHPBB3-10003
This commit is contained in:
parent
761e3dd36f
commit
55ff5da70b
1 changed files with 12 additions and 4 deletions
|
@ -1289,13 +1289,12 @@ class phpbb_db_tools
|
||||||
FROM user_indexes
|
FROM user_indexes
|
||||||
WHERE table_name = '" . strtoupper($table_name) . "'
|
WHERE table_name = '" . strtoupper($table_name) . "'
|
||||||
AND generated = 'N'
|
AND generated = 'N'
|
||||||
AND uniqueness = 'UNIQUE'
|
AND uniqueness = 'UNIQUE'";
|
||||||
AND index_name LIKE 'U_%'";
|
|
||||||
$col = 'index_name';
|
$col = 'index_name';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'sqlite':
|
case 'sqlite':
|
||||||
$sql = "PRAGMA index_list('" . $table_name . "') WHERE unique = 1;";
|
$sql = "PRAGMA index_list('" . $table_name . "');";
|
||||||
$col = 'name';
|
$col = 'name';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1322,7 +1321,15 @@ class phpbb_db_tools
|
||||||
switch ($this->sql_layer)
|
switch ($this->sql_layer)
|
||||||
{
|
{
|
||||||
case 'oracle':
|
case 'oracle':
|
||||||
$row[$col] = substr($row[$col], strlen('U_' . $row['table_owner']) + 1);
|
// Two cases here... prefixed with U_[table_owner] and not prefixed with table_name
|
||||||
|
if (strpos($row[$col], 'U_') === 0)
|
||||||
|
{
|
||||||
|
$row[$col] = substr($row[$col], strlen('U_' . $row['table_owner']) + 1);
|
||||||
|
}
|
||||||
|
else if (strpos($row[$col], strtoupper($table_name)) === 0)
|
||||||
|
{
|
||||||
|
$row[$col] = substr($row[$col], strlen($table_name) + 1);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'firebird':
|
case 'firebird':
|
||||||
|
@ -2203,6 +2210,7 @@ class phpbb_db_tools
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// TODO: try to change pkey without removing trigger, generator or constraints. ATM this query may fail.
|
||||||
$statements[] = 'ALTER TABLE ' . $table_name . ' ALTER COLUMN "' . strtoupper($column_name) . '" TYPE ' . ' ' . $column_data['column_type_sql_type'];
|
$statements[] = 'ALTER TABLE ' . $table_name . ' ALTER COLUMN "' . strtoupper($column_name) . '" TYPE ' . ' ' . $column_data['column_type_sql_type'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue