From 407e1fb87cd5ef2701818124bbb0a58f0734bcda Mon Sep 17 00:00:00 2001 From: TDB Release Date: Sat, 16 Nov 2024 22:02:37 +0000 Subject: TDB 1105.24111 - 2024/11/16 --- .../24092_2024_11_16/2024_09_23_00_characters.sql | 3 +++ .../24092_2024_11_16/2024_10_03_00_characters.sql | 29 ++++++++++++++++++++++ .../24092_2024_11_16/2024_11_04_00_characters.sql | 1 + 3 files changed, 33 insertions(+) create mode 100644 sql/old/11.x/characters/24092_2024_11_16/2024_09_23_00_characters.sql create mode 100644 sql/old/11.x/characters/24092_2024_11_16/2024_10_03_00_characters.sql create mode 100644 sql/old/11.x/characters/24092_2024_11_16/2024_11_04_00_characters.sql (limited to 'sql/old/11.x/characters') diff --git a/sql/old/11.x/characters/24092_2024_11_16/2024_09_23_00_characters.sql b/sql/old/11.x/characters/24092_2024_11_16/2024_09_23_00_characters.sql new file mode 100644 index 00000000000..b385b929e1b --- /dev/null +++ b/sql/old/11.x/characters/24092_2024_11_16/2024_09_23_00_characters.sql @@ -0,0 +1,3 @@ +-- TDB 1102.24092 characters +UPDATE `updates` SET `state`='ARCHIVED',`speed`=0; +REPLACE INTO `updates_include` (`path`, `state`) VALUES ('$/sql/old/11.x/characters', 'ARCHIVED'); diff --git a/sql/old/11.x/characters/24092_2024_11_16/2024_10_03_00_characters.sql b/sql/old/11.x/characters/24092_2024_11_16/2024_10_03_00_characters.sql new file mode 100644 index 00000000000..7b5a6fcf357 --- /dev/null +++ b/sql/old/11.x/characters/24092_2024_11_16/2024_10_03_00_characters.sql @@ -0,0 +1,29 @@ +-- append guid as hex to characters who have duplicate names in database except the one with lowest guid (assumed to have been created first) +-- and flag them for rename +CREATE TEMPORARY TABLE `characters_to_rename` SELECT + c2.`guid` + FROM + ( + SELECT + c1.`name` AS `name`, + MIN(c1.`guid`) AS originalGuid + FROM + `characters` c1 + WHERE + LENGTH(c1.`name`) > 0 + GROUP BY + 1 + HAVING + COUNT(*) > 1 + ) c3 + INNER JOIN `characters` c2 ON c3.`name` = c2.`name` + WHERE + c2.guid <> c3.originalGuid; + +UPDATE `characters` SET `name` = CONCAT(SUBSTRING(`name` FROM 1 FOR 12 - LENGTH(CONV(`guid`, 10, 16))), CONV(`guid`, 10, 16)), `at_login` = `at_login` | 1 WHERE `guid` IN (SELECT `guid` FROM `characters_to_rename`); + +-- recreate name index with unique constraint +ALTER TABLE `characters` DROP INDEX `idx_name`; +ALTER TABLE `characters` MODIFY COLUMN `name` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL AFTER `account`; +UPDATE `characters` SET `name` = NULL WHERE `name` = ''; +ALTER TABLE `characters` ADD UNIQUE INDEX `idx_name` (`name` ASC); diff --git a/sql/old/11.x/characters/24092_2024_11_16/2024_11_04_00_characters.sql b/sql/old/11.x/characters/24092_2024_11_16/2024_11_04_00_characters.sql new file mode 100644 index 00000000000..b056282ea77 --- /dev/null +++ b/sql/old/11.x/characters/24092_2024_11_16/2024_11_04_00_characters.sql @@ -0,0 +1 @@ +DELETE FROM `character_spell` WHERE `disabled`=1; -- cgit v1.2.3