From 10d105243f47e6446f5d16100ae157a6f2b1a3f0 Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Mon, 29 Dec 2025 17:44:37 +0100 Subject: [PATCH] fix(DB): broken (#24248) --- data/sql/updates/db_world/2025_12_29_12.sql | 31 ++++++++++++++++----- data/sql/updates/db_world/2025_12_29_13.sql | 1 + data/sql/updates/db_world/2025_12_29_14.sql | 1 + data/sql/updates/db_world/2025_12_29_16.sql | 15 ---------- 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/data/sql/updates/db_world/2025_12_29_12.sql b/data/sql/updates/db_world/2025_12_29_12.sql index 5d903acd3..18ece4b71 100644 --- a/data/sql/updates/db_world/2025_12_29_12.sql +++ b/data/sql/updates/db_world/2025_12_29_12.sql @@ -1,5 +1,6 @@ -- DB update 2025_12_29_11 -> 2025_12_29_12 -- +-- Update to rehash for reapply DROP TABLE IF EXISTS `trainer`; CREATE TABLE `trainer` ( `Id` INT UNSIGNED DEFAULT 0 NOT NULL, @@ -30,21 +31,37 @@ CREATE TABLE `trainer_spell` ( `ReqAbility2` int unsigned DEFAULT 0 NOT NULL, `ReqAbility3` int unsigned DEFAULT 0 NOT NULL, `ReqLevel` tinyint unsigned DEFAULT 0 NOT NULL, - `VerifiedBuild` int DEFAULT 0 NULL + `VerifiedBuild` int DEFAULT 0 NULL, + PRIMARY KEY (`TrainerId`, `SpellId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; DROP TABLE IF EXISTS `creature_default_trainer`; CREATE TABLE `creature_default_trainer` ( `CreatureId` int unsigned NOT NULL, - `TrainerId` int unsigned DEFAULT 0 NOT NULL + `TrainerId` int unsigned DEFAULT 0 NOT NULL, + PRIMARY KEY (`CreatureId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- Drop unused table DROP TABLE IF EXISTS `npc_trainer`; -- Drop removed columns -ALTER TABLE `creature_template` - DROP `trainer_type`, - DROP `trainer_spell`, - DROP `trainer_class`, - DROP `trainer_race`; +DELIMITER // +CREATE PROCEDURE DropColumns() +BEGIN +IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'creature_template' AND COLUMN_NAME = 'trainer_type') THEN + ALTER TABLE `creature_template` DROP `trainer_type`; +END IF; +IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'creature_template' AND COLUMN_NAME = 'trainer_spell') THEN + ALTER TABLE `creature_template` DROP `trainer_spell`; +END IF; +IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'creature_template' AND COLUMN_NAME = 'trainer_class') THEN + ALTER TABLE `creature_template` DROP `trainer_class`; +END IF; +IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'creature_template' AND COLUMN_NAME = 'trainer_race') THEN + ALTER TABLE `creature_template` DROP `trainer_race`; +END IF; +END // +DELIMITER ; -- +CALL DropColumns(); +DROP PROCEDURE DropColumns; diff --git a/data/sql/updates/db_world/2025_12_29_13.sql b/data/sql/updates/db_world/2025_12_29_13.sql index 3eeb599f9..0fc161b26 100644 --- a/data/sql/updates/db_world/2025_12_29_13.sql +++ b/data/sql/updates/db_world/2025_12_29_13.sql @@ -1,4 +1,5 @@ -- DB update 2025_12_29_12 -> 2025_12_29_13 +-- Update to rehash for reapply DELETE FROM `command` WHERE `name` IN ('reload trainer', 'reload npc_trainer'); INSERT INTO `command` (`name`,`security`,`help`) VALUES ('reload trainer',3,'Syntax: .reload trainer\nReloads trainer,trainer_locale,trainer_spell and creature_default_trainer tables.'); diff --git a/data/sql/updates/db_world/2025_12_29_14.sql b/data/sql/updates/db_world/2025_12_29_14.sql index 621346e38..1fe4a632d 100644 --- a/data/sql/updates/db_world/2025_12_29_14.sql +++ b/data/sql/updates/db_world/2025_12_29_14.sql @@ -1,5 +1,6 @@ -- DB update 2025_12_29_13 -> 2025_12_29_14 -- +-- Update to rehash for reapply -- Truesilver gauntlets require skill 225, not 245 UPDATE `trainer_spell` SET `ReqSkillRank`=225 WHERE `TrainerId`=124 AND `SpellId`=9954; diff --git a/data/sql/updates/db_world/2025_12_29_16.sql b/data/sql/updates/db_world/2025_12_29_16.sql index 63a6cbe6b..a81598055 100644 --- a/data/sql/updates/db_world/2025_12_29_16.sql +++ b/data/sql/updates/db_world/2025_12_29_16.sql @@ -1,17 +1,2 @@ -- DB update 2025_12_29_15 -> 2025_12_29_16 -- -ALTER TABLE `trainer` - DROP PRIMARY KEY, - ADD PRIMARY KEY (`Id`); - -ALTER TABLE `trainer_locale` - DROP PRIMARY KEY, - ADD PRIMARY KEY (`Id`, `locale`); - -ALTER TABLE `trainer_spell` - DROP PRIMARY KEY, - ADD PRIMARY KEY (`TrainerId`, `SpellId`); - -ALTER TABLE `creature_default_trainer` - DROP PRIMARY KEY, - ADD PRIMARY KEY (`CreatureId`);