alecpl
2011-06-27 0891b1d2ec6b576000c0fe9150257d4f03c53536
SQL/mysql.update.sql
@@ -1,5 +1,6 @@
-- RoundCube Webmail update script for MySQL databases
-- Updates from version 0.1-stable to 0.3.1
-- Roundcube Webmail update script for MySQL databases
-- Updates from version 0.1-stable
TRUNCATE TABLE `messages`;
@@ -31,11 +32,11 @@
ALTER TABLE `messages`
    ADD INDEX `created_index` (`created`);
-- Updates from version 0.2-beta (InnoDB only)
-- Updates from version 0.2-beta (InnoDB required)
ALTER TABLE `cache`
    DROP `session_id`;
ALTER TABLE `session`
    ADD INDEX `changed_index` (`changed`);
@@ -44,6 +45,13 @@
ALTER TABLE `users`
    CHANGE `language` `language` varchar(5);
ALTER TABLE `cache` ENGINE=InnoDB;
ALTER TABLE `session` ENGINE=InnoDB;
ALTER TABLE `messages` ENGINE=InnoDB;
ALTER TABLE `users` ENGINE=InnoDB;
ALTER TABLE `contacts` ENGINE=InnoDB;
ALTER TABLE `identities` ENGINE=InnoDB;
-- Updates from version 0.3-stable
@@ -59,6 +67,8 @@
    ADD INDEX `user_contacts_index` (`user_id`,`email`);
-- Updates from version 0.3.1
-- WARNING: Make sure that all tables are using InnoDB engine!!!
--          If not, use: ALTER TABLE xxx ENGINE=InnoDB;
/* MySQL bug workaround: http://bugs.mysql.com/bug.php?id=46293 */
/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
@@ -69,13 +79,13 @@
ALTER TABLE `identities` DROP FOREIGN KEY `user_id_fk_identities`;
ALTER TABLE `messages` ADD CONSTRAINT `user_id_fk_messages` FOREIGN KEY (`user_id`)
 REFERENCES `users`(`user_id`);
 REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `cache` ADD CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
 REFERENCES `users`(`user_id`);
 REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `contacts` ADD CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
 REFERENCES `users`(`user_id`);
 REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `identities` ADD CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`)
 REFERENCES `users`(`user_id`);
 REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `contacts` ALTER `name` SET DEFAULT '';
ALTER TABLE `contacts` ALTER `firstname` SET DEFAULT '';
@@ -108,3 +118,26 @@
) /*!40000 ENGINE=INNODB */;
/*!40014 SET FOREIGN_KEY_CHECKS=1 */;
-- Updates from version 0.4-beta
ALTER TABLE `users` CHANGE `last_login` `last_login` datetime DEFAULT NULL;
UPDATE `users` SET `last_login` = NULL WHERE `last_login` = '1000-01-01 00:00:00';
-- Updates from version 0.4.2
ALTER TABLE `users` DROP INDEX `username_index`;
ALTER TABLE `users` ADD UNIQUE `username` (`username`, `mail_host`);
ALTER TABLE `contacts` MODIFY `email` varchar(255) NOT NULL;
TRUNCATE TABLE `messages`;
-- Updates from version 0.5.2
ALTER TABLE `contacts` ADD `words` TEXT NULL AFTER `vcard`;
ALTER TABLE `contacts` CHANGE `vcard` `vcard` LONGTEXT /*!40101 CHARACTER SET utf8 */ NULL DEFAULT NULL;
ALTER TABLE `contactgroupmembers` ADD INDEX `contactgroupmembers_contact_index` (`contact_id`);
TRUNCATE TABLE `messages`;
TRUNCATE TABLE `cache`;