Core/DB: Fixed errors when importing a new DB

This commit is contained in:
hondacrx
2018-03-02 19:12:13 -05:00
parent 184115bf32
commit c5a041b6ed
5 changed files with 32 additions and 30 deletions
@@ -1,3 +0,0 @@
UPDATE `realmlist` SET `gamebuild`=25549 WHERE `gamebuild`=25480;
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int(10) unsigned NOT NULL DEFAULT '25549';
@@ -1,5 +1,5 @@
ALTER TABLE `account` CHANGE `sessionkey` `sessionkey` varchar(128) NOT NULL DEFAULT '';
UPDATE `realmlist` SET `gamebuild`=25480 WHERE `gamebuild`=24742;
UPDATE `realmlist` SET `gamebuild`=25549 WHERE `gamebuild`=24742;
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int(10) unsigned NOT NULL DEFAULT '25480';
ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int(10) unsigned NOT NULL DEFAULT '25549';
@@ -1,3 +0,0 @@
ALTER TABLE `account`
DROP `v`,
DROP `s`;
@@ -313,4 +313,4 @@ ALTER TABLE `world_map_area` MODIFY `Flags` int(10) UNSIGNED NOT NULL DEFAULT '0
--
-- Table structure for table `world_map_transforms`
--
ALTER TABLE `world_map_transforms` ADD `Priority` int(11) NOT NULL DEFAULT '0' AFTER `Flags`;
ALTER TABLE `world_map_transforms` ADD `Priority` int(11) NOT NULL DEFAULT '0' AFTER `Flags`;
@@ -1,33 +1,41 @@
-- pretend the broken one doesnt exist
DELETE FROM `updates` WHERE `name`='2018_02_08_00_world.sql';
ALTER TABLE `guild_rewards`
ADD `RaceMask_new` bigint(20) unsigned DEFAULT '0' AFTER `RaceMask`;
UPDATE `guild_rewards` SET `RaceMask_new`=`RaceMask` WHERE `RaceMask`>=0;
DROP PROCEDURE IF EXISTS fixup_2018_02_08_00_world;
ALTER TABLE `guild_rewards`
DROP `RaceMask`,
CHANGE `RaceMask_new` `RaceMask` bigint(20) unsigned DEFAULT '0';
DELIMITER ';;'
CREATE PROCEDURE fixup_2018_02_08_00_world() begin
/* try to rerun a fixed version of the old update */
IF NOT EXISTS (SELECT * FROM `information_schema`.`columns` WHERE `table_schema`=SCHEMA() AND `table_name`='race_unlock_requirement' AND `column_name`='achievementId') THEN
ALTER TABLE `guild_rewards` ADD `RaceMask_new` bigint(20) unsigned DEFAULT '0' AFTER `RaceMask`;
UPDATE `guild_rewards` SET `RaceMask_new`=`RaceMask` WHERE `RaceMask`>=0;
ALTER TABLE `guild_rewards`
DROP `RaceMask`,
CHANGE `RaceMask_new` `RaceMask` bigint(20) unsigned DEFAULT '0';
ALTER TABLE `playerchoice`
ADD `UiTextureKitId` int(11) NOT NULL DEFAULT '0' AFTER `ChoiceId`,
ADD `HideWarboardHeader` tinyint(1) NOT NULL DEFAULT '0' AFTER `Question`;
ALTER TABLE `playerchoice`
ADD `UiTextureKitId` int(11) NOT NULL DEFAULT '0' AFTER `ChoiceId`,
ADD `HideWarboardHeader` tinyint(1) NOT NULL DEFAULT '0' AFTER `Question`;
ALTER TABLE `quest_poi`
ADD `AlwaysAllowMergingBlobs` tinyint(1) unsigned NOT NULL DEFAULT '0' AFTER `WoDUnk1`;
ALTER TABLE `quest_poi` ADD `AlwaysAllowMergingBlobs` tinyint(1) unsigned NOT NULL DEFAULT '0' AFTER `WoDUnk1`;
ALTER TABLE `quest_template`
ADD `MaxScalingLevel` int(11) NOT NULL DEFAULT '255' AFTER `QuestLevel`,
ADD `AllowableRaces_new` bigint(20) unsigned NOT NULL DEFAULT 0 AFTER `AllowableRaces`;
UPDATE `quest_template` SET `AllowableRaces_new`=`AllowableRaces` WHERE `AllowableRaces`>=0;
ALTER TABLE `quest_template`
ADD `MaxScalingLevel` int(11) NOT NULL DEFAULT '255' AFTER `QuestLevel`,
ADD `AllowableRaces_new` bigint(20) unsigned NOT NULL DEFAULT 0 AFTER `AllowableRaces`;
UPDATE `quest_template` SET `AllowableRaces_new`=`AllowableRaces` WHERE `AllowableRaces`>=0;
ALTER TABLE `quest_template`
DROP `AllowableRaces`,
CHANGE `AllowableRaces_new` `AllowableRaces` bigint(20) unsigned DEFAULT '0';
ALTER TABLE `quest_template`
DROP `AllowableRaces`,
CHANGE `AllowableRaces_new` `AllowableRaces` bigint(20) unsigned DEFAULT '0';
RENAME TABLE `race_expansion_requirement` TO `race_unlock_requirement`;
ALTER TABLE `race_unlock_requirement` ADD `achievementId` int(10) unsigned NOT NULL DEFAULT '0';
END IF;
END;;
RENAME TABLE `race_expansion_requirement` TO `race_unlock_requirement`;
ALTER TABLE `race_unlock_requirement`
ADD `achievementId` int(10) unsigned NOT NULL DEFAULT '0';
DELIMITER ';'
CALL fixup_2018_02_08_00_world();
DROP PROCEDURE IF EXISTS fixup_2018_02_08_00_world;
-- restore values broken by 2018_02_08_00_world if it did not cause an error during import
UPDATE `guild_rewards` SET `RaceMask`=0xFFFFFFFF WHERE `ItemID` IN (62023,62024,62025,62026,62027,62029,63138,69209,69210,69888,85508,85509,85510,85666,89190,89191,89192,89193,89194,89195,116666);