View | Details | Raw Unified | Return to bug 17676
Collapse All | Expand All

(-)a/installer/data/mysql/updatedatabase.pl (-1 / +8 lines)
Lines 9736-9741 if ( CheckVersion($DBversion) ) { Link Here
9736
                    MODIFY COLUMN seealso varchar(1100) COLLATE utf8_unicode_ci DEFAULT NULL,
9736
                    MODIFY COLUMN seealso varchar(1100) COLLATE utf8_unicode_ci DEFAULT NULL,
9737
                    MODIFY COLUMN link varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL
9737
                    MODIFY COLUMN link varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL
9738
                |);
9738
                |);
9739
                $dbh->do(qq|ALTER TABLE $name CHARACTER SET utf8 COLLATE utf8_unicode_ci|);
9739
            }
9740
            }
9740
            else {
9741
            else {
9741
                $dbh->do(qq|ALTER TABLE $name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci|);
9742
                $dbh->do(qq|ALTER TABLE $name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci|);
Lines 13172-13177 if ( CheckVersion($DBversion) ) { Link Here
13172
            UPDATE marc_subfield_structure SET authorised_value = NULL WHERE authorised_value = ';';
13173
            UPDATE marc_subfield_structure SET authorised_value = NULL WHERE authorised_value = ';';
13173
            });
13174
            });
13174
13175
13176
    # If the DB has been created before 3.19.00.006, the default collate for marc_subfield_structure if not set to utf8_unicode_ci and the new FK will not be create (MariaDB or MySQL will raise err 150)
13177
    my $table_sth = $dbh->prepare(qq|SHOW CREATE TABLE marc_subfield_structure|);
13178
    $table_sth->execute;
13179
    my @table = $table_sth->fetchrow_array;
13180
    if ( $table[1] !~ /COLLATE=utf8_unicode_ci/ and $table[1] !~ /COLLATE=utf8mb4_unicode_ci/ ) { #catches utf8mb4 collated tables
13181
        $dbh->do(qq|ALTER TABLE marc_subfield_structure CHARACTER SET utf8 COLLATE utf8_unicode_ci|);
13182
    }
13175
    $dbh->do(q{
13183
    $dbh->do(q{
13176
            ALTER TABLE marc_subfield_structure
13184
            ALTER TABLE marc_subfield_structure
13177
            MODIFY COLUMN authorised_value VARCHAR(32) DEFAULT NULL,
13185
            MODIFY COLUMN authorised_value VARCHAR(32) DEFAULT NULL,
13178
- 

Return to bug 17676