diff --git a/docs/upgrades/upgrade_7.8.1-7.8.2.pl b/docs/upgrades/upgrade_7.8.1-7.8.2.pl index 09fff4e47..50a80085b 100644 --- a/docs/upgrades/upgrade_7.8.1-7.8.2.pl +++ b/docs/upgrades/upgrade_7.8.1-7.8.2.pl @@ -63,7 +63,16 @@ sub fixTableDefaultCharsets { ['utf8'], ); } - # and here's our code + my $db_name = $db->dbh->{Name}; + my $database = (split /[;:]/, $db_name)[0]; + while ( $db_name =~ /([^=;:]+)=([^;:]+)/msxg ) { + if ( $1 eq 'db' || $1 eq 'database' || $1 eq 'dbname' ) { + $database = $2; + last; + } + } + $session->db->write(sprintf 'ALTER DATABASE %s DEFAULT CHARACTER SET utf8', $db->dbh->quote_identifier($database)); + print "Done.\n" unless $quiet; }