]> git.uio.no Git - usit-rt.git/blobdiff - etc/upgrade/4.1.23/indexes
Upgrade to 4.2.2
[usit-rt.git] / etc / upgrade / 4.1.23 / indexes
index d76264f2978741bb7ef99e5273ca5f350b8b13b1..78db4aee61da80cfc360359bf8d58ec0bf9ec1a0 100644 (file)
@@ -94,13 +94,11 @@ my $dedup = sub {
     );
     foreach my $e (@list) {
         RT->Logger->debug("Checking index on ". $e->{'Column'} ." in ". $e->{'Table'} );
-        my ($index) = $RT::Handle->IndexesThatBeginWith(
+        my (@indexes) = $RT::Handle->IndexesThatBeginWith(
             Table => $e->{'Table'}, Columns => [$e->{'Column'}]
         );
-        $index = undef if $index && @{$index->{'Columns'}}>1;
-        if (
-            $index && $index->{'Unique'}
-            && ($RT::Handle->CaseSensitive? $index->{'CaseInsensitive'}{ lc $e->{'Column'} } : 1 )
+        @indexes = grep {@{$_->{'Columns'}} == 1} @indexes;
+        if (grep {$_->{Unique} && ($RT::Handle->CaseSensitive? $_->{'CaseInsensitive'}{ lc $e->{'Column'} } : 1 ) } @indexes
         ) {
             RT->Logger->debug("Required index exists. Skipping.");
             next;
@@ -108,7 +106,7 @@ my $dedup = sub {
 
         $dedup->( $e->{'Table'}, $e->{'Column'} );
 
-        if ( $index ) {
+        for my $index ( @indexes ) {
             my ($status, $msg) = $RT::Handle->DropIndex(
                 Table => $e->{'Table'}, Name => $index->{'Name'},
             );
@@ -162,7 +160,8 @@ foreach my $table ('Users', 'Tickets') {
         my ($status, $msg) = $RT::Handle->DropIndex(
             Table => $table, Name => $index->{'Name'},
         );
-        RT->Logger->info($msg);
+        my $method = $status ? 'debug' : 'warning';
+        RT->Logger->$method($msg);
     }
 }