From: Stéphane Jacob Date: Sat, 23 Oct 2010 15:18:07 +0000 (+0200) Subject: Switches all tables to InnoDB. X-Git-Tag: xorg/1.0.1~20 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=0fada8c8cd502907bb93ca1fdf379ea1509a59f5;hp=b0ffc8817742b44a6cf0f02cdcd885ea7b154625;p=platal.git Switches all tables to InnoDB. Signed-off-by: Stéphane Jacob --- diff --git a/upgrade/1.0.1/99_keys.sql.pre b/upgrade/1.0.1/99_keys.sql.pre new file mode 100644 index 0000000..0eca111 --- /dev/null +++ b/upgrade/1.0.1/99_keys.sql.pre @@ -0,0 +1,44 @@ +ALTER TABLE account_auth_openid DROP KEY user_id_url_index; +ALTER TABLE account_auth_openid ADD UNIQUE KEY user_id_url_index (uid, url(60)); + +DROP TABLE IF EXISTS tmp_gapps_nicknames; +CREATE TEMPORARY TABLE tmp_gapps_nicknames LIKE gapps_nicknames; +INSERT INTO tmp_gapps_nicknames SELECT * FROM gapps_nicknames; +DROP TABLE gapps_nicknames; +CREATE TABLE gapps_nicknames ( + l_userid INT(11) UNSIGNED DEFAULT NULL, + g_account_name VARCHAR(256) NOT NULL, + g_nickname VARCHAR(256) NOT NULL, + PRIMARY KEY (g_nickname(60)), + KEY g_account_name (g_account_name(60)), + KEY l_userid (l_userid) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +INSERT INTO gapps_nicknames SELECT * FROM tmp_gapps_nicknames; +DROP TABLE IF EXISTS tmp_gapps_nicknames; + +DROP TABLE IF EXISTS tmp_gapps_accounts; +CREATE TEMPORARY TABLE tmp_gapps_accounts LIKE gapps_accounts; +INSERT INTO tmp_gapps_accounts SELECT * FROM gapps_accounts; +DROP TABLE gapps_accounts; +CREATE TABLE gapps_accounts ( + l_userid INT(11) UNSIGNED DEFAULT NULL, + l_sync_password TINYINT(1) DEFAULT 1, + l_activate_mail_redirection TINYINT(1) DEFAULT 1, + g_account_id CHAR(16) DEFAULT NULL, + g_account_name VARCHAR(256) NOT NULL, + g_first_name VARCHAR(40) NOT NULL, + g_last_name VARCHAR(40) NOT NULL, + g_status ENUM('unprovisioned','disabled','active') DEFAULT 'unprovisioned', + g_admin TINYINT(1) DEFAULT NULL, + g_suspension VARCHAR(256) DEFAULT NULL, + r_disk_usage BIGINT(20) DEFAULT NULL, + r_creation DATE DEFAULT NULL, + r_last_login DATE DEFAULT NULL, + r_last_webmail DATE DEFAULT NULL, + PRIMARY KEY (g_account_name(60)), + KEY l_userid (l_userid) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +INSERT INTO gapps_accounts SELECT * FROM tmp_gapps_accounts; +DROP TABLE IF EXISTS tmp_gapps_accounts; + +-- vim:set syntax=mysql: diff --git a/upgrade/1.0.1/innodb.sh b/upgrade/1.0.1/innodb.sh index bb18cb8..f134bf1 100755 --- a/upgrade/1.0.1/innodb.sh +++ b/upgrade/1.0.1/innodb.sh @@ -4,7 +4,7 @@ changeEngine() { echo "ALTER TABLE $1 ENGINE = InnoDB;" } -# changeEngine 'account_auth_openid' +changeEngine 'account_auth_openid' changeEngine 'account_lost_passwords' changeEngine 'account_profiles' changeEngine 'account_types' @@ -28,8 +28,8 @@ changeEngine 'forum_innd' changeEngine 'forum_profiles' changeEngine 'forum_subs' changeEngine 'forums' -# changeEngine 'gapps_accounts' -# changeEngine 'gapps_nicknames' +changeEngine 'gapps_accounts' +changeEngine 'gapps_nicknames' changeEngine 'gapps_queue' changeEngine 'gapps_reporting' changeEngine 'geoloc_administrativeareas' diff --git a/upgrade/1.0.1/update.sh b/upgrade/1.0.1/update.sh index d19e994..a7156f0 100755 --- a/upgrade/1.0.1/update.sh +++ b/upgrade/1.0.1/update.sh @@ -6,7 +6,10 @@ [ "$DATABASE" != "x4dat" ] || die "Cannot target x4dat" copy_db -echo "* switching engines to InnoDB" +confirm "* Running pre-engine switch database upgrade script" +mysql_run ./99_keys.sql.pre + +confirm "* switching engines to InnoDB" ./innodb.sh | mysql_pipe confirm "* Running database upgrade scripts"