ensure some fields are really latin1

The previous commit changed vacation_notificatoin.notified,
alias_domain.alias_domain and alias_domain.target_domain to latin1, but
did this only in their original upgrade function.

upgrade_1836_mysql() also applies this change to existing databases.
(It's unlikely that these fields are not latin1 - creating them as utf8
or utf8mb4 would break at the index length, but better safe than sorry ;-)
pull/31/head
Christian Boltz 7 years ago
parent ba94c3a75e
commit 29364b4734
No known key found for this signature in database
GPG Key ID: C6A682EA63C82F1C

@ -1657,6 +1657,21 @@ function upgrade_1835_mysql() {
db_query_parsed("ALTER TABLE `$table` CHANGE `timestamp` `timestamp` {DATETIME}");
}
function upgrade_1836_mysql() {
$table_alias_domain = table_by_key ('alias_domain');
$table_vacation_notification = table_by_key('vacation_notification');
$all_sql = explode("\n", trim("
ALTER TABLE `$table_alias_domain` CHANGE `alias_domain` `alias_domain` VARCHAR(255) {LATIN1} NOT NULL default ''
ALTER TABLE `$table_alias_domain` CHANGE `target_domain` `target_domain` VARCHAR(255) {LATIN1} NOT NULL default ''
ALTER TABLE `$table_vacation_notification` CHANGE `notified` `notified` VARCHAR(255) {LATIN1} NOT NULL default ''
"));
foreach ($all_sql as $sql) {
$result = db_query_parsed($sql, TRUE);
}
}
# TODO MySQL:
# - various varchar fields do not have a default value
# https://sourceforge.net/projects/postfixadmin/forums/forum/676076/topic/3419725

Loading…
Cancel
Save