Perform the drop queries in a procedure to check for existance

This commit is contained in:
Michael Babker 2014-09-03 14:09:26 -04:00
parent 431d5e0fd7
commit 0928782f4c
1 changed files with 26 additions and 5 deletions

View File

@ -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;