From 0928782f4ccb86d3e3609708c0fe83114bad4e4f Mon Sep 17 00:00:00 2001 From: Michael Babker Date: Wed, 3 Sep 2014 14:09:26 -0400 Subject: [PATCH] Perform the drop queries in a procedure to check for existance --- .../admin/sql/updates/mysql/3.4.0.sql | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/src/com_weblinks/admin/sql/updates/mysql/3.4.0.sql b/src/com_weblinks/admin/sql/updates/mysql/3.4.0.sql index ac17a46..a8d6724 100644 --- a/src/com_weblinks/admin/sql/updates/mysql/3.4.0.sql +++ b/src/com_weblinks/admin/sql/updates/mysql/3.4.0.sql @@ -1,10 +1,31 @@ # This is a rollup of all database schema changes applied from 3.0.0 to 3.3.x -ALTER TABLE `#__weblinks` DROP COLUMN `sid`; -ALTER TABLE `#__weblinks` DROP COLUMN `date`; -ALTER TABLE `#__weblinks` DROP COLUMN `archived`; -ALTER TABLE `#__weblinks` DROP COLUMN `approved`; -ALTER TABLE `#__weblinks` ENGINE=InnoDB; +drop procedure if exists weblinks_schema_change; +delimiter ';;' +create procedure weblinks_schema_change() begin + + /* delete columns if they exist */ + if exists(SELECT * FROM information_schema.columns WHERE table_name = '#__weblinks' AND column_name = 'sid') THEN + ALTER TABLE `#__weblinks` DROP COLUMN `sid`; + end if; + if exists(SELECT * FROM information_schema.columns WHERE table_name = '#__weblinks' AND column_name = 'date') THEN + ALTER TABLE `#__weblinks` DROP COLUMN `date`; + end if; + if exists(SELECT * FROM information_schema.columns WHERE table_name = '#__weblinks' AND column_name = 'archived') THEN + ALTER TABLE `#__weblinks` DROP COLUMN `archived`; + end if; + if exists(SELECT * FROM information_schema.columns WHERE table_name = '#__weblinks' AND column_name = 'approved') THEN + ALTER TABLE `#__weblinks` DROP COLUMN `approved`; + end if; + +end;; + +delimiter ';' +call weblinks_schema_change(); + +drop procedure if exists weblinks_schema_change; + +ALTER TABLE `#__weblinks` ENGINE=InnoDB; ALTER TABLE `#__weblinks` ADD COLUMN `version` int(10) unsigned NOT NULL DEFAULT '1'; ALTER TABLE `#__weblinks` ADD COLUMN `images` text NOT NULL;