aboutsummaryrefslogtreecommitdiff
path: root/sql/old/11.x/characters
diff options
context:
space:
mode:
authorTDB Release <tdb-release@build.bot>2024-11-16 22:02:37 +0000
committerTDB Release <tdb-release@build.bot>2024-11-16 22:02:37 +0000
commit407e1fb87cd5ef2701818124bbb0a58f0734bcda (patch)
treec0f6d73468926c23eff46626487dca362a422813 /sql/old/11.x/characters
parent858a4344601f54160a24b58f8a3d0e5116d80957 (diff)
TDB 1105.24111 - 2024/11/16TDB1105.24111
Diffstat (limited to 'sql/old/11.x/characters')
-rw-r--r--sql/old/11.x/characters/24092_2024_11_16/2024_09_23_00_characters.sql3
-rw-r--r--sql/old/11.x/characters/24092_2024_11_16/2024_10_03_00_characters.sql29
-rw-r--r--sql/old/11.x/characters/24092_2024_11_16/2024_11_04_00_characters.sql1
3 files changed, 33 insertions, 0 deletions
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;