54 lines
2.1 KiB
SQL
54 lines
2.1 KiB
SQL
-- DB update 2021_03_28_00 -> 2021_04_25_00
|
|
DROP PROCEDURE IF EXISTS `updateDb`;
|
|
DELIMITER //
|
|
CREATE PROCEDURE updateDb ()
|
|
proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
|
|
SELECT COUNT(*) INTO @COLEXISTS
|
|
FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_characters' AND COLUMN_NAME = '2021_03_28_00';
|
|
IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
|
|
START TRANSACTION;
|
|
ALTER TABLE version_db_characters CHANGE COLUMN 2021_03_28_00 2021_04_25_00 bit;
|
|
SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1617907126348389400'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
|
|
--
|
|
-- START UPDATING QUERIES
|
|
--
|
|
|
|
INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1617907126348389400');
|
|
|
|
-- Keep only the highest guid PvE or PvP (not bones) corpse per player guid
|
|
DELETE c FROM `corpse` c LEFT JOIN
|
|
(
|
|
SELECT MAX(`corpseGuid`) AS id
|
|
FROM `corpse`
|
|
WHERE `corpseType` IN (1,2)
|
|
GROUP BY `guid`
|
|
) corpsetemp
|
|
ON c.`corpseGuid` = corpsetemp.`id`
|
|
WHERE corpsetemp.`id` IS NULL;
|
|
|
|
-- Remove corpseGUID and set key to player guid
|
|
ALTER TABLE `corpse` DROP `corpseGuid`, DROP INDEX `idx_player`, ADD PRIMARY KEY (`guid`);
|
|
|
|
UPDATE `auctionhouse` SET `time` = 0, `auctioneerguid` = 7;
|
|
ALTER TABLE `auctionhouse` CHANGE `auctioneerguid` `houseid` TINYINT(3) UNSIGNED NOT NULL DEFAULT '7' AFTER `id`;
|
|
|
|
ALTER TABLE `characters` CHANGE `transguid` `transguid` MEDIUMINT DEFAULT 0 NOT NULL;
|
|
|
|
ALTER TABLE `groups` CHANGE `icon1` `icon1` BIGINT UNSIGNED NOT NULL;
|
|
ALTER TABLE `groups` CHANGE `icon2` `icon2` BIGINT UNSIGNED NOT NULL;
|
|
ALTER TABLE `groups` CHANGE `icon3` `icon3` BIGINT UNSIGNED NOT NULL;
|
|
ALTER TABLE `groups` CHANGE `icon4` `icon4` BIGINT UNSIGNED NOT NULL;
|
|
ALTER TABLE `groups` CHANGE `icon5` `icon5` BIGINT UNSIGNED NOT NULL;
|
|
ALTER TABLE `groups` CHANGE `icon6` `icon6` BIGINT UNSIGNED NOT NULL;
|
|
ALTER TABLE `groups` CHANGE `icon7` `icon7` BIGINT UNSIGNED NOT NULL;
|
|
ALTER TABLE `groups` CHANGE `icon8` `icon8` BIGINT UNSIGNED NOT NULL;
|
|
|
|
--
|
|
-- END UPDATING QUERIES
|
|
--
|
|
COMMIT;
|
|
END //
|
|
DELIMITER ;
|
|
CALL updateDb();
|
|
DROP PROCEDURE IF EXISTS `updateDb`;
|