From: Frédéric Buclin Date: Thu, 31 Jul 2014 16:38:18 +0000 (+0200) Subject: Bug 1044561: Bad definition of indexes for the new user_api_keys DB table X-Git-Tag: bugzilla-4.5.6~70 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8770b2cb9cbbb61c1eae54c9ce1f564f9d350044;p=thirdparty%2Fbugzilla.git Bug 1044561: Bad definition of indexes for the new user_api_keys DB table r=sgreen a=glob --- diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index b175f15549..2fa811042e 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -1749,8 +1749,8 @@ use constant ABSTRACT_SCHEMA => { last_used => {TYPE => 'DATETIME'}, ], INDEXES => [ - user_api_keys_key => {FIELDS => ['api_key'], TYPE => 'UNIQUE'}, - user_api_keys_user_id => {FIELDS => ['user_id']}, + user_api_keys_api_key_idx => {FIELDS => ['api_key'], TYPE => 'UNIQUE'}, + user_api_keys_user_id_idx => ['user_id'], ], }, }; diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index bbddf16200..74b2b1e39b 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -723,6 +723,9 @@ sub update_table_definitions { $dbh->bz_alter_column('tokens', 'tokentype', {TYPE => 'varchar(16)', NOTNULL => 1}); + # 2014-07-27 LpSolit@gmail.com - Bug 1044561 + _fix_user_api_keys_indexes(); + ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ @@ -3881,6 +3884,20 @@ sub _fix_components_primary_key { } } +sub _fix_user_api_keys_indexes { + my $dbh = Bugzilla->dbh; + + if ($dbh->bz_index_info('user_api_keys', 'user_api_keys_key')) { + $dbh->bz_drop_index('user_api_keys', 'user_api_keys_key'); + $dbh->bz_add_index('user_api_keys', 'user_api_keys_api_key_idx', + { FIELDS => ['api_key'], TYPE => 'UNIQUE' }); + } + if ($dbh->bz_index_info('user_api_keys', 'user_api_keys_user_id')) { + $dbh->bz_drop_index('user_api_keys', 'user_api_keys_user_id'); + $dbh->bz_add_index('user_api_keys', 'user_api_keys_user_id_idx', ['user_id']); + } +} + 1; __END__