diff --git a/include/upgrader/streams/core/03ff59bf-b26f29a6.cleanup.sql b/include/upgrader/streams/core/03ff59bf-b26f29a6.cleanup.sql index 66bc02c564fc09a580cddd5a7f93dacacbf529ec..045605d3a0d6003adf1dcf425098ea417764b5fa 100644 --- a/include/upgrader/streams/core/03ff59bf-b26f29a6.cleanup.sql +++ b/include/upgrader/streams/core/03ff59bf-b26f29a6.cleanup.sql @@ -4,4 +4,7 @@ DELETE FROM `%TABLE_PREFIX%config` DELETE FROM `%TABLE_PREFIX%ticket_status` WHERE `state` = 'resolved'; +ALTER TABLE `%TABLE_PREFIX%ticket_status` + DROP `notes`; + OPTIMIZE TABLE `%TABLE_PREFIX%ticket_status`; diff --git a/include/upgrader/streams/core/03ff59bf-b26f29a6.patch.sql b/include/upgrader/streams/core/03ff59bf-b26f29a6.patch.sql index 9abb7bf11f4985677b54cf223809fb629f0adc82..d30596bf6cb6315d7ffd7a6e6d8c1687c71f80d1 100644 --- a/include/upgrader/streams/core/03ff59bf-b26f29a6.patch.sql +++ b/include/upgrader/streams/core/03ff59bf-b26f29a6.patch.sql @@ -18,10 +18,19 @@ UPDATE `%TABLE_PREFIX%ticket` t1 SET t1.status_id = @statusId WHERE t2.state='resolved'; --- add properties field -ALTER TABLE `%TABLE_PREFIX%ticket_status` - ADD `properties` TEXT NOT NULL AFTER `sort`, - DROP `notes`; +-- add properties field IF it doesn't exist +SET @s = (SELECT IF( + (SELECT COUNT(*) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE table_name = '%TABLE_PREFIX%ticket_status' + AND table_schema = DATABASE() + AND column_name = 'properties' + ) > 0, + "SELECT 1", + "ALTER TABLE `%TABLE_PREFIX%ticket_status` ADD `properties` text NOT NULL AFTER `sort`" +)); +PREPARE stmt FROM @s; +EXECUTE stmt; UPDATE `%TABLE_PREFIX%ticket_status` s INNER JOIN `ost_config` c diff --git a/include/upgrader/streams/core/8f99b8bf-03ff59bf.patch.sql b/include/upgrader/streams/core/8f99b8bf-03ff59bf.patch.sql index 65a50036f8155af515f07dbbe3ba560d96065006..a6c94d1598b5ba1fdb354cf8822296d6884c93f3 100644 --- a/include/upgrader/streams/core/8f99b8bf-03ff59bf.patch.sql +++ b/include/upgrader/streams/core/8f99b8bf-03ff59bf.patch.sql @@ -51,6 +51,7 @@ CREATE TABLE IF NOT EXISTS `%TABLE_PREFIX%ticket_status` ( `mode` int(11) unsigned NOT NULL DEFAULT '0', `flags` int(11) unsigned NOT NULL DEFAULT '0', `sort` int(11) unsigned NOT NULL DEFAULT '0', + `properties` text NOT NULL, `notes` text NOT NULL, `created` datetime NOT NULL, `updated` datetime NOT NULL,