/** * Change description fields to UTF-8 */ function upgrade_373_mysql() { # MySQL only $table_domain = table_by_key('domain'); $table_mailbox = table_by_key('mailbox'); $all_sql = split("\n", trim("\n ALTER TABLE `{$table_domain}` CHANGE `description` `description` VARCHAR( 255 ) {UTF-8} NOT NULL\n ALTER TABLE `{$table_mailbox}` CHANGE `name` `name` VARCHAR( 255 ) {UTF-8} NOT NULL\n ")); foreach ($all_sql as $sql) { $result = db_query_parsed($sql); } }
function upgrade_1767() { # 'active' was just added, so make sure all existing jobs stay active $table = table_by_key('fetchmail'); db_query_parsed("UPDATE {$table} SET active='{BOOL_TRUE}'"); }
function upgrade_1824_sqlite() { $admin_table = table_by_key('admin'); $alias_table = table_by_key('alias'); $alias_domain_table = table_by_key('alias_domain'); $domain_table = table_by_key('domain'); $domain_admins_table = table_by_key('domain_admins'); $fetchmail_table = table_by_key('fetchmail'); $log_table = table_by_key('log'); $mailbox_table = table_by_key('mailbox'); $quota_table = table_by_key('quota'); $quota2_table = table_by_key('quota2'); $vacation_table = table_by_key('vacation'); $vacation_notification_table = table_by_key('vacation_notification'); db_query_parsed("\n CREATE TABLE {$admin_table} (\n `username` varchar(255) NOT NULL,\n `password` varchar(255) NOT NULL,\n `superadmin` {BOOLEAN},\n `created` {DATE},\n `modified` {DATE},\n `active` {BOOLEAN_TRUE},\n {PRIMARY} (`username`));\n "); db_query_parsed("\n CREATE TABLE {$alias_table} (\n `address` varchar(255) NOT NULL,\n `goto` {FULLTEXT} NOT NULL,\n `domain` varchar(255) NOT NULL,\n `created` {DATE},\n `modified` {DATE},\n `active` {BOOLEAN_TRUE},\n {PRIMARY} (`address`));\n "); db_query_parsed("\n CREATE TABLE {$alias_domain_table} (\n `alias_domain` varchar(255) NOT NULL,\n `target_domain` varchar(255) NOT NULL,\n `created` {DATE},\n `modified` {DATE},\n `active` {BOOLEAN_TRUE},\n {PRIMARY} (`alias_domain`));\n "); db_query_parsed("\n CREATE TABLE {$domain_table} (\n `domain` varchar(255) NOT NULL,\n `description` varchar(255) NOT NULL,\n `aliases` {INT},\n `mailboxes` {INT},\n `maxquota` {BIGINT},\n `quota` {BIGINT},\n `transport` varchar(255) NOT NULL,\n `backupmx` {BOOLEAN},\n `created` {DATE},\n `modified` {DATE},\n `active` {BOOLEAN_TRUE},\n {PRIMARY} (`domain`));\n "); db_query_parsed("\n CREATE TABLE {$domain_admins_table} (\n `username` varchar(255) NOT NULL,\n `domain` varchar(255) NOT NULL,\n `created` {DATE},\n `active` {BOOLEAN_TRUE});\n "); db_query_parsed("\n CREATE TABLE {$fetchmail_table} (\n `id` {AUTOINCREMENT},\n `domain` varchar(255) DEFAULT '',\n `mailbox` varchar(255) NOT NULL,\n `src_server` varchar(255) NOT NULL,\n `src_auth` varchar(255) DEFAULT NULL,\n `src_user` varchar(255) NOT NULL,\n `src_password` varchar(255) NOT NULL,\n `src_folder` varchar(255) NOT NULL,\n `poll_time` int(11) NOT NULL DEFAULT '10',\n `fetchall` {BOOLEAN},\n `keep` {BOOLEAN},\n `protocol` {FULLTEXT} DEFAULT NULL,\n `usessl` {BOOLEAN},\n `sslcertck` {BOOLEAN},\n `sslcertpath` varchar(255) DEFAULT '',\n `sslfingerprint` varchar(255) DEFAULT '',\n `extra_options` {FULLTEXT},\n `returned_text` {FULLTEXT},\n `mda` varchar(255) NOT NULL,\n `date` {DATE},\n `created` {DATE},\n `modified` {DATECURRENT},\n `active` {BOOLEAN});\n "); db_query_parsed("\n CREATE TABLE {$log_table} (\n `timestamp` {DATE},\n `username` varchar(255) NOT NULL,\n `domain` varchar(255) NOT NULL,\n `action` varchar(255) NOT NULL,\n `data` {FULLTEXT} NOT NULL);\n "); db_query_parsed("\n CREATE TABLE {$mailbox_table} (\n `username` varchar(255) NOT NULL,\n `password` varchar(255) NOT NULL,\n `name` varchar(255) NOT NULL,\n `maildir` varchar(255) NOT NULL,\n `quota` {BIGINT},\n `local_part` varchar(255) NOT NULL,\n `domain` varchar(255) NOT NULL,\n `created` {DATE},\n `modified` {DATE},\n `active` {BOOLEAN_TRUE},\n {PRIMARY} (`username`));\n "); db_query_parsed("\n CREATE TABLE {$quota_table} (\n `username` varchar(255) NOT NULL,\n `path` varchar(100) NOT NULL,\n `current` {BIGINT},\n {PRIMARY} (`username`,`path`));\n "); db_query_parsed("\n CREATE TABLE {$quota2_table} (\n `username` varchar(255) NOT NULL,\n `bytes` {BIGINT},\n `messages` {INT},\n {PRIMARY} (`username`));\n "); db_query_parsed("\n CREATE TABLE {$vacation_table} (\n `email` varchar(255) NOT NULL,\n `subject` varchar(255) NOT NULL,\n `body` {FULLTEXT} NOT NULL,\n `activefrom` {DATE},\n `activeuntil` {DATE},\n `cache` {FULLTEXT} NOT NULL DEFAULT '',\n `domain` varchar(255) NOT NULL,\n `interval_time` {INT},\n `created` {DATE},\n `modified` {DATECURRENT},\n `active` {BOOLEAN_TRUE},\n {PRIMARY} (`email`));\n "); db_query_parsed("\n CREATE TABLE {$vacation_notification_table} (\n `on_vacation` varchar(255) NOT NULL,\n `notified` varchar(255) NOT NULL,\n `notified_at` {DATECURRENT},\n {PRIMARY} (`on_vacation`,`notified`),\n CONSTRAINT `vacation_notification_pkey` FOREIGN KEY (`on_vacation`) REFERENCES `vacation` (`email`) ON DELETE CASCADE);\n "); }