Add IF EXISTS to DROP INDEX (except under MySQL)
authorIvan Kohler <ivan@freeside.biz>
Thu, 4 Feb 2016 00:41:45 +0000 (16:41 -0800)
committerIvan Kohler <ivan@freeside.biz>
Thu, 4 Feb 2016 00:41:45 +0000 (16:41 -0800)
DBSchema/Table.pm

index 67e2eea..aec605f 100644 (file)
@@ -631,8 +631,10 @@ sub sql_alter_table {
     warn "removing obsolete index $table.$old ON ( ".
          $old_indices{$old}->columns_sql. " )\n"
       if $DEBUG > 1;
-    push @r, "DROP INDEX $old ".
-             ( $driver eq 'mysql' ? " ON $table" : ' IF EXISTS');
+    push @r, "DROP INDEX '.
+             ( $driver ne 'mysql' ? ' IF EXISTS ' : '');
+             " $old ".
+             ( $driver eq 'mysql' ? " ON $table " : '');
   }
 
   foreach my $new ( keys %new_indices ) {