1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-01-17 14:18:24 +01:00

Merge pull request #2761 from Nicofuma/ticket/12873

[ticket/12873] Test the correct identifier in \phpbb\db\tools

* Nicofuma/ticket/12873:
  [ticket/12873] Add migration to rename the index
  [ticket/12873] Don not touch the existing migrations
  [ticket/12873] Test the good identifier in \phpbb\db\tools
This commit is contained in:
Joas Schilling 2014-08-07 16:49:37 +02:00
commit 9b36b5283c
3 changed files with 47 additions and 9 deletions

View File

@ -2397,14 +2397,6 @@
]
},
"KEYS": {
"unq_mtch": [
"UNIQUE",
[
"word_id",
"post_id",
"title_match"
]
],
"word_id": [
"INDEX",
"word_id"
@ -2412,6 +2404,14 @@
"post_id": [
"INDEX",
"post_id"
],
"un_mtch": [
"UNIQUE",
[
"word_id",
"post_id",
"title_match"
]
]
}
},

View File

@ -0,0 +1,38 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v310;
class rename_too_long_indexes extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array('\phpbb\db\migration\data\v30x\release_3_0_0');
}
public function update_schema()
{
return array(
'drop_keys' => array(
$this->table_prefix . 'search_wordmatch' => array(
'unq_mtch',
),
),
'add_unique_index' => array(
$this->table_prefix . 'search_wordmatch' => array(
'un_mtch' => array('word_id', 'post_id', 'title_match'),
),
),
);
}
}

View File

@ -2104,7 +2104,7 @@ class tools
$statements = array();
$table_prefix = substr(CONFIG_TABLE, 0, -6); // strlen(config)
if (strlen($table_name . $index_name) - strlen($table_prefix) > 24)
if (strlen($table_name . '_' . $index_name) - strlen($table_prefix) > 24)
{
$max_length = strlen($table_prefix) + 24;
trigger_error("Index name '{$table_name}_$index_name' on table '$table_name' is too long. The maximum is $max_length characters.", E_USER_ERROR);