From 6268c33845a31c14a933c1e77e4c5745ce0a033d Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@osticket.com> Date: Thu, 25 Sep 2014 19:07:24 +0000 Subject: [PATCH] bug: Make sure properties field exist Add ticket status properties field before loading init data. --- .../streams/core/03ff59bf-b26f29a6.cleanup.sql | 3 +++ .../streams/core/03ff59bf-b26f29a6.patch.sql | 17 +++++++++++++---- .../streams/core/8f99b8bf-03ff59bf.patch.sql | 1 + 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/include/upgrader/streams/core/03ff59bf-b26f29a6.cleanup.sql b/include/upgrader/streams/core/03ff59bf-b26f29a6.cleanup.sql index 66bc02c56..045605d3a 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 9abb7bf11..d30596bf6 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 65a50036f..a6c94d159 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, -- GitLab