-- Drop any existing TeamId column from 000094_threads_teamid.up.sql SET @preparedStatement = (SELECT IF( EXISTS( SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name = 'Threads' AND table_schema = DATABASE() AND column_name = 'TeamId' ) > 0, 'ALTER TABLE Threads DROP COLUMN TeamId;', 'SELECT 1;' )); PREPARE removeColumnIfExists FROM @preparedStatement; EXECUTE removeColumnIfExists; DEALLOCATE PREPARE removeColumnIfExists; SET @preparedStatement = (SELECT IF( NOT EXISTS( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'Threads' AND table_schema = DATABASE() AND column_name = 'ThreadTeamId' ), 'ALTER TABLE Threads ADD COLUMN ThreadTeamId varchar(26) DEFAULT NULL;', 'SELECT 1;' )); PREPARE addColumnIfNotExists FROM @preparedStatement; EXECUTE addColumnIfNotExists; DEALLOCATE PREPARE addColumnIfNotExists; UPDATE Threads, Channels SET Threads.ThreadTeamId = Channels.TeamId WHERE Channels.Id = Threads.ChannelId AND Threads.ThreadTeamId IS NULL;