Commit b4005dc7 authored by mkanat%bugzilla.org's avatar mkanat%bugzilla.org

Bug 361140: Upgrades from versions with enums fail UTF-8 conversion

Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=bkor, a=justdave
parent f8238723
...@@ -576,6 +576,10 @@ EOT ...@@ -576,6 +576,10 @@ EOT
my $info_sth = $self->prepare("SHOW FULL COLUMNS FROM $table"); my $info_sth = $self->prepare("SHOW FULL COLUMNS FROM $table");
$info_sth->execute(); $info_sth->execute();
while (my $column = $info_sth->fetchrow_hashref) { while (my $column = $info_sth->fetchrow_hashref) {
# Our conversion code doesn't work on enum fields, but they
# all go away later in checksetup anyway.
next if $column->{Type} =~ /enum/i;
# If this particular column isn't stored in utf-8 # If this particular column isn't stored in utf-8
if ($column->{Collation} if ($column->{Collation}
&& $column->{Collation} ne 'NULL' && $column->{Collation} ne 'NULL'
...@@ -617,8 +621,9 @@ EOT ...@@ -617,8 +621,9 @@ EOT
$self->do("ALTER TABLE $table CHANGE COLUMN $name $name $self->do("ALTER TABLE $table CHANGE COLUMN $name $name
$utf8"); $utf8");
} }
$self->do("ALTER TABLE $table DEFAULT CHARACTER SET utf8");
} }
$self->do("ALTER TABLE $table DEFAULT CHARACTER SET utf8");
} # foreach my $table (@tables) } # foreach my $table (@tables)
my $db_name = Bugzilla->localconfig->{db_name}; my $db_name = Bugzilla->localconfig->{db_name};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment