summaryrefslogtreecommitdiff
path: root/data/sql/old/db_characters
diff options
context:
space:
mode:
authorKitzunu <24550914+Kitzunu@users.noreply.github.com>2024-01-20 14:19:38 +0100
committerGitHub <noreply@github.com>2024-01-20 14:19:38 +0100
commitea93531bd546867e25979e183dcf1ab25c388605 (patch)
treebc9f53fceeed09cbf99de09dfbf44f46429f703e /data/sql/old/db_characters
parent47a1982c0d3ab7e5e38eb8cb4718aafc8c70f05d (diff)
refactor(DB): Move old archive files to old dir (#18164)
* refactor(DB): Move old archive files to old dir * fix auth and char
Diffstat (limited to 'data/sql/old/db_characters')
-rw-r--r--data/sql/old/db_characters/1.x/2016_07_09_00.sql3
-rw-r--r--data/sql/old/db_characters/1.x/2016_07_09_01.sql1
-rw-r--r--data/sql/old/db_characters/1.x/2016_07_10_00.sql28
-rw-r--r--data/sql/old/db_characters/1.x/2016_07_30_00.sql25
-rw-r--r--data/sql/old/db_characters/1.x/2016_08_08_00.sql35
-rw-r--r--data/sql/old/db_characters/1.x/2016_08_12_00.sql47
-rw-r--r--data/sql/old/db_characters/1.x/2016_08_14_00.sql7
-rw-r--r--data/sql/old/db_characters/1.x/2016_08_15_00.sql4
-rw-r--r--data/sql/old/db_characters/1.x/2016_08_25_00.sql12
-rw-r--r--data/sql/old/db_characters/2.x/2016_11_18_00.sql21
-rw-r--r--data/sql/old/db_characters/2.x/2016_11_19_00.sql28
-rw-r--r--data/sql/old/db_characters/2.x/2017_09_18_00.sql47
-rw-r--r--data/sql/old/db_characters/2.x/2018_04_19_00.sql46
-rw-r--r--data/sql/old/db_characters/2.x/2018_08_08_00.sql30
-rw-r--r--data/sql/old/db_characters/2.x/2018_12_23_00.sql29
-rw-r--r--data/sql/old/db_characters/2.x/2019_01_06_00.sql39
-rw-r--r--data/sql/old/db_characters/3.x/2019_02_17_00.sql26
-rw-r--r--data/sql/old/db_characters/3.x/2019_05_12_00.sql29
-rw-r--r--data/sql/old/db_characters/3.x/2019_05_15_00.sql31
-rw-r--r--data/sql/old/db_characters/3.x/2019_11_22_00.sql33
-rw-r--r--data/sql/old/db_characters/3.x/2019_12_09_00.sql35
-rw-r--r--data/sql/old/db_characters/3.x/2020_01_04_00.sql30
-rw-r--r--data/sql/old/db_characters/4.x/2021_01_25_00.sql26
-rw-r--r--data/sql/old/db_characters/4.x/2021_03_28_00.sql30
-rw-r--r--data/sql/old/db_characters/4.x/2021_04_25_00.sql54
-rw-r--r--data/sql/old/db_characters/4.x/2021_04_27_00.sql30
-rw-r--r--data/sql/old/db_characters/4.x/2021_04_29_00.sql30
-rw-r--r--data/sql/old/db_characters/4.x/2021_05_28_00.sql31
-rw-r--r--data/sql/old/db_characters/4.x/2021_05_30_00.sql30
-rw-r--r--data/sql/old/db_characters/4.x/2021_06_08_00.sql35
-rw-r--r--data/sql/old/db_characters/4.x/2021_06_18_00.sql32
-rw-r--r--data/sql/old/db_characters/4.x/2021_06_22_00.sql29
-rw-r--r--data/sql/old/db_characters/4.x/2021_06_23_00.sql30
-rw-r--r--data/sql/old/db_characters/4.x/2021_06_30_00.sql45
-rw-r--r--data/sql/old/db_characters/4.x/2021_07_06_00.sql29
-rw-r--r--data/sql/old/db_characters/4.x/2021_07_08_00.sql47
-rw-r--r--data/sql/old/db_characters/4.x/2021_07_21_00.sql29
-rw-r--r--data/sql/old/db_characters/4.x/2021_09_13_00.sql30
-rw-r--r--data/sql/old/db_characters/4.x/2021_09_25_00.sql29
-rw-r--r--data/sql/old/db_characters/4.x/2021_10_14_00.sql55
-rw-r--r--data/sql/old/db_characters/5.x/2021_10_14_01_characters.sql2
-rw-r--r--data/sql/old/db_characters/5.x/2021_11_06_00.sql29
-rw-r--r--data/sql/old/db_characters/5.x/2021_12_26_00.sql27
-rw-r--r--data/sql/old/db_characters/5.x/2021_12_26_01.sql36
-rw-r--r--data/sql/old/db_characters/6.x/2022_01_25_00.sql30
-rw-r--r--data/sql/old/db_characters/6.x/2022_01_29_00.sql29
-rw-r--r--data/sql/old/db_characters/6.x/2022_02_16_00.sql31
-rw-r--r--data/sql/old/db_characters/6.x/2022_03_01_00.sql29
-rw-r--r--data/sql/old/db_characters/6.x/2022_04_19_00.sql51
-rw-r--r--data/sql/old/db_characters/7.x/2022_04_24_00.sql29
-rw-r--r--data/sql/old/db_characters/7.x/2022_04_28_00.sql4
-rw-r--r--data/sql/old/db_characters/7.x/2022_05_24_00.sql9
-rw-r--r--data/sql/old/db_characters/7.x/2022_08_02_00.sql3
-rw-r--r--data/sql/old/db_characters/7.x/2022_08_07_00.sql6
-rw-r--r--data/sql/old/db_characters/8.x/2022_08_21_00.sql3
-rw-r--r--data/sql/old/db_characters/8.x/2022_10_13_00.sql6
-rw-r--r--data/sql/old/db_characters/8.x/2022_10_20_00.sql8
-rw-r--r--data/sql/old/db_characters/9.x/2023_01_31_00.sql1
-rw-r--r--data/sql/old/db_characters/9.x/2023_03_04_00.sql7
-rw-r--r--data/sql/old/db_characters/9.x/2023_04_22_00.sql4
-rw-r--r--data/sql/old/db_characters/9.x/2023_04_23_00.sql139
61 files changed, 1690 insertions, 0 deletions
diff --git a/data/sql/old/db_characters/1.x/2016_07_09_00.sql b/data/sql/old/db_characters/1.x/2016_07_09_00.sql
new file mode 100644
index 0000000000..508b4b66b6
--- /dev/null
+++ b/data/sql/old/db_characters/1.x/2016_07_09_00.sql
@@ -0,0 +1,3 @@
+CREATE TABLE `characters_db_version` (
+ `2016_07_09_00` BIT(1) DEFAULT NULL
+) ENGINE=MYISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Last applied sql update to DB';
diff --git a/data/sql/old/db_characters/1.x/2016_07_09_01.sql b/data/sql/old/db_characters/1.x/2016_07_09_01.sql
new file mode 100644
index 0000000000..10c2ae6bea
--- /dev/null
+++ b/data/sql/old/db_characters/1.x/2016_07_09_01.sql
@@ -0,0 +1 @@
+ALTER TABLE characters_db_version CHANGE COLUMN 2016_07_09_00 2016_07_09_01 bit;
diff --git a/data/sql/old/db_characters/1.x/2016_07_10_00.sql b/data/sql/old/db_characters/1.x/2016_07_10_00.sql
new file mode 100644
index 0000000000..a19b6f68d0
--- /dev/null
+++ b/data/sql/old/db_characters/1.x/2016_07_10_00.sql
@@ -0,0 +1,28 @@
+ALTER TABLE characters_db_version CHANGE COLUMN 2016_07_09_01 2016_07_10_00 bit;
+
+CREATE TABLE IF NOT EXISTS `pvpstats_battlegrounds` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `winner_faction` tinyint(4) NOT NULL,
+ `bracket_id` tinyint(3) unsigned NOT NULL,
+ `type` tinyint(3) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE IF NOT EXISTS `pvpstats_players` (
+ `battleground_id` bigint(20) unsigned NOT NULL,
+ `character_guid` int(10) unsigned NOT NULL,
+ `winner` bit(1) NOT NULL,
+ `score_killing_blows` mediumint(8) unsigned NOT NULL,
+ `score_deaths` mediumint(8) unsigned NOT NULL,
+ `score_honorable_kills` mediumint(8) unsigned NOT NULL,
+ `score_bonus_honor` mediumint(8) unsigned NOT NULL,
+ `score_damage_done` mediumint(8) unsigned NOT NULL,
+ `score_healing_done` mediumint(8) unsigned NOT NULL,
+ `attr_1` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `attr_2` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `attr_3` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `attr_4` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `attr_5` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`battleground_id`,`character_guid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
diff --git a/data/sql/old/db_characters/1.x/2016_07_30_00.sql b/data/sql/old/db_characters/1.x/2016_07_30_00.sql
new file mode 100644
index 0000000000..d55f10ae38
--- /dev/null
+++ b/data/sql/old/db_characters/1.x/2016_07_30_00.sql
@@ -0,0 +1,25 @@
+ALTER TABLE characters_db_version CHANGE COLUMN 2016_07_10_00 2016_07_30_00 bit;
+
+CREATE TABLE IF NOT EXISTS `gm_ticket` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '0 open, 1 closed, 2 character deleted',
+ `playerGuid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier of ticket creator',
+ `name` varchar(12) NOT NULL COMMENT 'Name of ticket creator',
+ `description` text NOT NULL,
+ `createTime` int(10) unsigned NOT NULL DEFAULT '0',
+ `mapId` smallint(5) unsigned NOT NULL DEFAULT '0',
+ `posX` float NOT NULL DEFAULT '0',
+ `posY` float NOT NULL DEFAULT '0',
+ `posZ` float NOT NULL DEFAULT '0',
+ `lastModifiedTime` int(10) unsigned NOT NULL DEFAULT '0',
+ `closedBy` int(10) unsigned NOT NULL DEFAULT '0',
+ `assignedTo` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'GUID of admin to whom ticket is assigned',
+ `comment` text NOT NULL,
+ `response` text NOT NULL,
+ `completed` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `escalated` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `viewed` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `needMoreHelp` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `resolvedBy` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'GUID of GM who resolved the ticket',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=10572 DEFAULT CHARSET=utf8 COMMENT='Player System';
diff --git a/data/sql/old/db_characters/1.x/2016_08_08_00.sql b/data/sql/old/db_characters/1.x/2016_08_08_00.sql
new file mode 100644
index 0000000000..524645b190
--- /dev/null
+++ b/data/sql/old/db_characters/1.x/2016_08_08_00.sql
@@ -0,0 +1,35 @@
+ALTER TABLE characters_db_version CHANGE COLUMN 2016_07_30_00 2016_08_08_00 bit;
+
+CREATE TABLE IF NOT EXISTS `battleground_deserters` (
+ `guid` INT(10) UNSIGNED NOT NULL COMMENT 'characters.guid',
+ `type` TINYINT(3) UNSIGNED NOT NULL COMMENT 'type of the desertion',
+ `datetime` DATETIME NOT NULL COMMENT 'datetime of the desertion'
+ );
+
+CREATE TABLE IF NOT EXISTS `pvpstats_battlegrounds` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `winner_faction` tinyint(4) NOT NULL,
+ `bracket_id` tinyint(3) unsigned NOT NULL,
+ `type` tinyint(3) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=8298 DEFAULT CHARSET=latin1;
+
+CREATE TABLE IF NOT EXISTS `pvpstats_players` (
+ `battleground_id` bigint(20) unsigned NOT NULL,
+ `character_guid` int(10) unsigned NOT NULL,
+ `winner` bit(1) NOT NULL,
+ `score_killing_blows` mediumint(8) unsigned NOT NULL,
+ `score_deaths` mediumint(8) unsigned NOT NULL,
+ `score_honorable_kills` mediumint(8) unsigned NOT NULL,
+ `score_bonus_honor` mediumint(8) unsigned NOT NULL,
+ `score_damage_done` mediumint(8) unsigned NOT NULL,
+ `score_healing_done` mediumint(8) unsigned NOT NULL,
+ `attr_1` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `attr_2` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `attr_3` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `attr_4` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `attr_5` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`battleground_id`,`character_guid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
diff --git a/data/sql/old/db_characters/1.x/2016_08_12_00.sql b/data/sql/old/db_characters/1.x/2016_08_12_00.sql
new file mode 100644
index 0000000000..c43494ce5c
--- /dev/null
+++ b/data/sql/old/db_characters/1.x/2016_08_12_00.sql
@@ -0,0 +1,47 @@
+ALTER TABLE characters_db_version CHANGE COLUMN 2016_08_08_00 2016_08_12_00 bit;
+
+-- `character_aura`
+ALTER TABLE `character_aura`
+CHANGE `caster_guid` `casterGuid` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT 'Full Global Unique Identifier',
+CHANGE `item_guid` `itemGuid` bigint(20) unsigned NOT NULL DEFAULT '0',
+CHANGE `effect_mask` `effectMask` tinyint(3) unsigned NOT NULL DEFAULT '0',
+CHANGE `recalculate_mask` `recalculateMask` tinyint(3) unsigned NOT NULL DEFAULT '0',
+CHANGE `stackcount` `stackCount` tinyint(3) unsigned NOT NULL DEFAULT '1',
+CHANGE `maxduration` `maxDuration` int(11) NOT NULL DEFAULT '0',
+CHANGE `remaintime` `remainTime` int(11) NOT NULL DEFAULT '0',
+CHANGE `remaincharges` `remainCharges` tinyint(3) unsigned NOT NULL DEFAULT '0';
+
+-- `character_glyphs`
+ALTER TABLE `character_glyphs`
+CHANGE `spec` `talentGroup` tinyint(3) unsigned NOT NULL DEFAULT '0';
+
+-- `characters`
+ALTER TABLE `characters`
+CHANGE `speccount` `talentGroupsCount` tinyint(3) unsigned NOT NULL DEFAULT '1',
+CHANGE `activespec` `activeTalentGroup` tinyint(3) unsigned NOT NULL DEFAULT '0';
+
+-- `gm_subsurveys` -> `gm_subsurvey`
+RENAME TABLE `gm_subsurveys` TO `gm_subsurvey`;
+ALTER TABLE `gm_subsurvey`
+CHANGE `subsurveyId` `questionId` int(10) unsigned NOT NULL DEFAULT '0',
+CHANGE `rank` `answer` int(10) unsigned NOT NULL DEFAULT '0',
+CHANGE `comment` `answerComment` text NOT NULL;
+
+-- `gm_surveys` -> `gm_survey`
+RENAME TABLE `gm_surveys` TO `gm_survey`;
+ALTER TABLE `gm_survey`
+CHANGE `overallComment` `comment` longtext NOT NULL;
+
+-- `groups`
+ALTER TABLE `groups`
+CHANGE `raiddifficulty` `raidDifficulty` tinyint(3) unsigned NOT NULL DEFAULT '0';
+
+-- `pet_aura`
+ALTER TABLE `pet_aura`
+CHANGE `caster_guid` `casterGuid` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT 'Full Global Unique Identifier',
+CHANGE `effect_mask` `effectMask` tinyint(3) unsigned NOT NULL DEFAULT '0',
+CHANGE `recalculate_mask` `recalculateMask` tinyint(3) unsigned NOT NULL DEFAULT '0',
+CHANGE `stackcount` `stackCount` tinyint(3) unsigned NOT NULL DEFAULT '1',
+CHANGE `maxduration` `maxDuration` int(11) NOT NULL DEFAULT '0',
+CHANGE `remaintime` `remainTime` int(11) NOT NULL DEFAULT '0',
+CHANGE `remaincharges` `remainCharges` tinyint(3) unsigned NOT NULL DEFAULT '0';
diff --git a/data/sql/old/db_characters/1.x/2016_08_14_00.sql b/data/sql/old/db_characters/1.x/2016_08_14_00.sql
new file mode 100644
index 0000000000..69a9170de9
--- /dev/null
+++ b/data/sql/old/db_characters/1.x/2016_08_14_00.sql
@@ -0,0 +1,7 @@
+-- uncomment and fix following line at next revision / updates archivation
+-- ALTER TABLE auth_db_version CHANGE COLUMN xxxx_xx_xx_xx xxxx_xx_xx_xx bit;
+
+--
+-- Do not remove this file when we archive sql under this folder
+-- it is needed for pending sql importer
+--
diff --git a/data/sql/old/db_characters/1.x/2016_08_15_00.sql b/data/sql/old/db_characters/1.x/2016_08_15_00.sql
new file mode 100644
index 0000000000..cdc91b044e
--- /dev/null
+++ b/data/sql/old/db_characters/1.x/2016_08_15_00.sql
@@ -0,0 +1,4 @@
+ALTER TABLE characters_db_version CHANGE COLUMN 2016_08_12_00 2016_08_15_00 bit;
+
+ALTER TABLE `channels`
+ ADD `ownership` tinyint(3) unsigned NOT NULL DEFAULT '1' AFTER `announce`;
diff --git a/data/sql/old/db_characters/1.x/2016_08_25_00.sql b/data/sql/old/db_characters/1.x/2016_08_25_00.sql
new file mode 100644
index 0000000000..4a55f688a3
--- /dev/null
+++ b/data/sql/old/db_characters/1.x/2016_08_25_00.sql
@@ -0,0 +1,12 @@
+ALTER TABLE characters_db_version CHANGE COLUMN 2016_08_15_00 2016_08_25_00 bit;
+
+RENAME TABLE `characters_db_version` TO `version_db_characters`;
+
+ALTER TABLE `version_db_characters`
+ADD COLUMN `sql_rev` VARCHAR(100) NOT NULL FIRST,
+ADD COLUMN `required_rev` VARCHAR(100) NULL AFTER `sql_rev`,
+ADD PRIMARY KEY (`sql_rev`),
+ENGINE=INNODB;
+
+ALTER TABLE `version_db_characters` ADD CONSTRAINT `required` FOREIGN KEY (`required_rev`) REFERENCES `version_db_characters`(`sql_rev`);
+
diff --git a/data/sql/old/db_characters/2.x/2016_11_18_00.sql b/data/sql/old/db_characters/2.x/2016_11_18_00.sql
new file mode 100644
index 0000000000..306aab53ce
--- /dev/null
+++ b/data/sql/old/db_characters/2.x/2016_11_18_00.sql
@@ -0,0 +1,21 @@
+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 = '2016_08_25_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+
+ALTER TABLE version_db_characters CHANGE COLUMN 2016_08_25_00 2016_11_18_00 bit;
+
+--
+-- Do not remove this file when we archive sql under this folder
+-- it is needed for pending sql importer
+--
+
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/2.x/2016_11_19_00.sql b/data/sql/old/db_characters/2.x/2016_11_19_00.sql
new file mode 100644
index 0000000000..d4d082b00c
--- /dev/null
+++ b/data/sql/old/db_characters/2.x/2016_11_19_00.sql
@@ -0,0 +1,28 @@
+-- DB update 2016_11_18_00 -> 2016_11_19_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 = '2016_11_18_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2016_11_18_00 2016_11_19_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1478978518254125000'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_characters (`sql_rev`) VALUES ('1478978518254125000');
+
+ALTER TABLE `arena_team_member`
+ CHANGE COLUMN `personalRating` `personalRating` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `seasonWins`,
+ DROP COLUMN `personal_rating`;
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/2.x/2017_09_18_00.sql b/data/sql/old/db_characters/2.x/2017_09_18_00.sql
new file mode 100644
index 0000000000..c25a8537ba
--- /dev/null
+++ b/data/sql/old/db_characters/2.x/2017_09_18_00.sql
@@ -0,0 +1,47 @@
+-- DB update 2016_11_19_00 -> 2017_09_18_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 = '2016_11_19_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2016_11_19_00 2017_09_18_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1505652328111029300'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_characters (`sql_rev`) VALUES ('1505652328111029300');
+
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+DROP TABLE IF EXISTS `banned_addons`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `banned_addons` (
+ `Id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `Name` varchar(255) NOT NULL,
+ `Version` varchar(255) NOT NULL DEFAULT '',
+ `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `idx_name_ver` (`Name`, `Version`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/2.x/2018_04_19_00.sql b/data/sql/old/db_characters/2.x/2018_04_19_00.sql
new file mode 100644
index 0000000000..756ce2eaf5
--- /dev/null
+++ b/data/sql/old/db_characters/2.x/2018_04_19_00.sql
@@ -0,0 +1,46 @@
+-- DB update 2017_09_18_00 -> 2018_04_19_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 = '2017_09_18_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2017_09_18_00 2018_04_19_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1515873371010860000'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO version_db_characters (`sql_rev`) VALUES ('1515873371010860000');
+
+ALTER TABLE `characters`
+ ADD `skin` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `money`,
+ ADD `face` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `skin`,
+ ADD `hairStyle` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `face`,
+ ADD `hairColor` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `hairStyle`,
+ ADD `facialStyle` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `hairColor`,
+ ADD `bankSlots` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `facialStyle`,
+ ADD `restState` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `bankSlots`;
+
+UPDATE `characters` SET
+ `skin` = `playerBytes`&0xFF,
+ `face` = (`playerBytes`>>8)&0xFF,
+ `hairStyle`=(`playerBytes`>>16)&0xFF,
+ `hairColor`=(`playerBytes`>>24)&0xFF,
+ `facialStyle`=`playerBytes2`&0xFF,
+ `bankSlots`=(`playerBytes2`>>16)&0xFF,
+ `restState`=(`playerBytes2`>>24)&0xFF;
+
+ALTER TABLE `characters` DROP `playerBytes`, DROP `playerBytes2`;
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/2.x/2018_08_08_00.sql b/data/sql/old/db_characters/2.x/2018_08_08_00.sql
new file mode 100644
index 0000000000..db41eb1f5a
--- /dev/null
+++ b/data/sql/old/db_characters/2.x/2018_08_08_00.sql
@@ -0,0 +1,30 @@
+-- DB update 2018_04_19_00 -> 2018_08_08_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 = '2018_04_19_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2018_04_19_00 2018_08_08_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1533752199192020422'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO version_db_characters (`sql_rev`) VALUES ('1533752199192020422');
+
+-- Remove unused tables
+DROP TABLE IF EXISTS `cheaters`;
+DROP TABLE IF EXISTS `uptime`;
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/2.x/2018_12_23_00.sql b/data/sql/old/db_characters/2.x/2018_12_23_00.sql
new file mode 100644
index 0000000000..0928e5113a
--- /dev/null
+++ b/data/sql/old/db_characters/2.x/2018_12_23_00.sql
@@ -0,0 +1,29 @@
+-- DB update 2018_08_08_00 -> 2018_12_23_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 = '2018_08_08_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2018_08_08_00 2018_12_23_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1545178470896804464'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO version_db_characters (`sql_rev`) VALUES ('1545178470896804464');
+
+ALTER TABLE `character_queststatus`
+ ADD `itemcount5` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `itemcount4`,
+ ADD `itemcount6` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `itemcount5`;
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/2.x/2019_01_06_00.sql b/data/sql/old/db_characters/2.x/2019_01_06_00.sql
new file mode 100644
index 0000000000..6f84553658
--- /dev/null
+++ b/data/sql/old/db_characters/2.x/2019_01_06_00.sql
@@ -0,0 +1,39 @@
+-- DB update 2018_12_23_00 -> 2019_01_06_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 = '2018_12_23_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2018_12_23_00 2019_01_06_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1546637940772193620'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO version_db_characters (`sql_rev`) VALUES ('1546637940772193620');
+
+DROP TABLE IF EXISTS `quest_tracker`;
+CREATE TABLE `quest_tracker` (
+ `id` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
+ `character_guid` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `quest_accept_time` DATETIME NOT NULL,
+ `quest_complete_time` DATETIME DEFAULT NULL,
+ `quest_abandon_time` DATETIME DEFAULT NULL,
+ `completed_by_gm` BOOL NOT NULL DEFAULT '0',
+ `core_hash` VARCHAR(120) NOT NULL DEFAULT '0',
+ `core_revision` VARCHAR(120) NOT NULL DEFAULT '0'
+)
+ENGINE=InnoDB;
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/3.x/2019_02_17_00.sql b/data/sql/old/db_characters/3.x/2019_02_17_00.sql
new file mode 100644
index 0000000000..a440da7042
--- /dev/null
+++ b/data/sql/old/db_characters/3.x/2019_02_17_00.sql
@@ -0,0 +1,26 @@
+-- DB update 2019_01_06_00 -> 2019_02_17_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 = '2019_01_06_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2019_01_06_00 2019_02_17_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = 'xxx'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+-- Placeholder
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/3.x/2019_05_12_00.sql b/data/sql/old/db_characters/3.x/2019_05_12_00.sql
new file mode 100644
index 0000000000..b8d20993dd
--- /dev/null
+++ b/data/sql/old/db_characters/3.x/2019_05_12_00.sql
@@ -0,0 +1,29 @@
+-- DB update 2019_02_17_00 -> 2019_05_12_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 = '2019_02_17_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2019_02_17_00 2019_05_12_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1557608218190967100'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1557608218190967100');
+
+ALTER TABLE `characters`
+ ADD COLUMN `creation_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER `grantableLevels`;
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/3.x/2019_05_15_00.sql b/data/sql/old/db_characters/3.x/2019_05_15_00.sql
new file mode 100644
index 0000000000..c809a35f31
--- /dev/null
+++ b/data/sql/old/db_characters/3.x/2019_05_15_00.sql
@@ -0,0 +1,31 @@
+-- DB update 2019_05_12_00 -> 2019_05_15_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 = '2019_05_12_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2019_05_12_00 2019_05_15_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1557226918417685700'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1557226918417685700');
+
+ALTER TABLE `character_arena_stats`
+MODIFY `guid` int(10) unsigned NOT NULL DEFAULT '0',
+MODIFY `slot` tinyint(3) unsigned NOT NULL DEFAULT '0',
+MODIFY `matchMakerRating` smallint(5) unsigned NOT NULL DEFAULT '0';
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/3.x/2019_11_22_00.sql b/data/sql/old/db_characters/3.x/2019_11_22_00.sql
new file mode 100644
index 0000000000..be1b3dc9f6
--- /dev/null
+++ b/data/sql/old/db_characters/3.x/2019_11_22_00.sql
@@ -0,0 +1,33 @@
+-- DB update 2019_05_15_00 -> 2019_11_22_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 = '2019_05_15_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2019_05_15_00 2019_11_22_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1572030074009407852'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1572030074009407852');
+
+UPDATE `worldstates` SET `comment`='NextArenaPointDistributionTime' WHERE `entry`=20001;
+UPDATE `worldstates` SET `comment`='NextWeeklyQuestResetTime' WHERE `entry`=20002;
+UPDATE `worldstates` SET `comment`='NextBGRandomDailyResetTime' WHERE `entry`=20003;
+UPDATE `worldstates` SET `comment`='cleaning_flags' WHERE `entry`=20005;
+UPDATE `worldstates` SET `comment`='NextGuildDailyResetTime' WHERE `entry`=20006;
+UPDATE `worldstates` SET `comment`='NextMonthlyQuestResetTime' WHERE `entry`=20007;
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/3.x/2019_12_09_00.sql b/data/sql/old/db_characters/3.x/2019_12_09_00.sql
new file mode 100644
index 0000000000..3692b1a6ae
--- /dev/null
+++ b/data/sql/old/db_characters/3.x/2019_12_09_00.sql
@@ -0,0 +1,35 @@
+-- DB update 2019_11_22_00 -> 2019_12_09_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 = '2019_11_22_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2019_11_22_00 2019_12_09_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1575656087867346414'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1575656087867346414');
+
+CREATE TABLE IF NOT EXISTS `recovery_item` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `Guid` int(11) unsigned NOT NULL DEFAULT 0,
+ `ItemEntry` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `Count` int(11) unsigned NOT NULL DEFAULT 0,
+ PRIMARY KEY (`Id`),
+ KEY `idx_guid` (`Guid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/3.x/2020_01_04_00.sql b/data/sql/old/db_characters/3.x/2020_01_04_00.sql
new file mode 100644
index 0000000000..8c6f3ff5ab
--- /dev/null
+++ b/data/sql/old/db_characters/3.x/2020_01_04_00.sql
@@ -0,0 +1,30 @@
+-- DB update 2019_12_09_00 -> 2020_01_04_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 = '2019_12_09_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2019_12_09_00 2020_01_04_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1572815191193825836'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1572815191193825836');
+
+UPDATE `worldstates` SET `comment`='NextDailyQuestResetTime' WHERE `entry`=20005;
+DELETE FROM `worldstates` WHERE `entry`=20004;
+INSERT INTO `worldstates` (`entry`, `value`, `comment`) VALUES(20004, 0, 'cleaning_flags');
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_01_25_00.sql b/data/sql/old/db_characters/4.x/2021_01_25_00.sql
new file mode 100644
index 0000000000..7258201a96
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_01_25_00.sql
@@ -0,0 +1,26 @@
+-- DB update 2020_01_04_00 -> 2021_01_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 = '2020_01_04_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2020_01_04_00 2021_01_25_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = 'xxx'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+-- Placeholder
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_03_28_00.sql b/data/sql/old/db_characters/4.x/2021_03_28_00.sql
new file mode 100644
index 0000000000..a5850342b0
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_03_28_00.sql
@@ -0,0 +1,30 @@
+-- DB update 2021_01_25_00 -> 2021_03_28_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_01_25_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_01_25_00 2021_03_28_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1616857517874136100'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1616857517874136100');
+
+DELETE FROM `warden_action` WHERE `wardenId`=437;
+INSERT INTO `warden_action` (`wardenId`, `action`) VALUES
+(437, 0);
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_04_25_00.sql b/data/sql/old/db_characters/4.x/2021_04_25_00.sql
new file mode 100644
index 0000000000..43972d2d60
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_04_25_00.sql
@@ -0,0 +1,54 @@
+-- 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`;
diff --git a/data/sql/old/db_characters/4.x/2021_04_27_00.sql b/data/sql/old/db_characters/4.x/2021_04_27_00.sql
new file mode 100644
index 0000000000..ff7847f609
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_04_27_00.sql
@@ -0,0 +1,30 @@
+-- DB update 2021_04_25_00 -> 2021_04_27_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_04_25_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_04_25_00 2021_04_27_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1618660143408049500'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1618660143408049500');
+
+ALTER TABLE `gm_ticket`
+ CHANGE COLUMN `closedBy` `closedBy` INT NOT NULL DEFAULT 0 COMMENT '-1 Closed by Console, >0 GUID of GM' AFTER `lastModifiedTime`,
+ CHANGE COLUMN `resolvedBy` `resolvedBy` INT NOT NULL DEFAULT 0 COMMENT '-1 Resolved by Console, >0 GUID of GM' AFTER `needMoreHelp`;
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_04_29_00.sql b/data/sql/old/db_characters/4.x/2021_04_29_00.sql
new file mode 100644
index 0000000000..fc0f5cdd62
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_04_29_00.sql
@@ -0,0 +1,30 @@
+-- DB update 2021_04_27_00 -> 2021_04_29_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_04_27_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_04_27_00 2021_04_29_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1619247484235757300'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1619247484235757300');
+
+ALTER TABLE `pet_aura`
+DROP PRIMARY KEY,
+ADD PRIMARY KEY (`guid`, `casterGuid`, `spell`, `effectMask`);
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_05_28_00.sql b/data/sql/old/db_characters/4.x/2021_05_28_00.sql
new file mode 100644
index 0000000000..4476efc7ad
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_05_28_00.sql
@@ -0,0 +1,31 @@
+-- DB update 2021_04_29_00 -> 2021_05_28_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_04_29_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_04_29_00 2021_05_28_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1622121508190340200'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1622121508190340200');
+
+-- Set fist weapon skill equal to current unarmed skill value
+UPDATE `character_skills` `cs_unarmed` INNER JOIN `character_skills` `cs_fist` ON `cs_unarmed`.`guid` = `cs_fist`.`guid`
+SET `cs_fist`.`value` = `cs_unarmed`.`value`, `cs_fist`.`max` = `cs_unarmed`.`max`
+WHERE `cs_unarmed`.`skill` = 162 AND `cs_fist`.`skill` = 473;
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_05_30_00.sql b/data/sql/old/db_characters/4.x/2021_05_30_00.sql
new file mode 100644
index 0000000000..6d28a74cf4
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_05_30_00.sql
@@ -0,0 +1,30 @@
+-- DB update 2021_05_28_00 -> 2021_05_30_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_05_28_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_05_28_00 2021_05_30_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1621715444570678000'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1621715444570678000');
+
+ALTER TABLE `version_db_characters`
+ ADD COLUMN `date` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci' AFTER `required_rev`;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_05_30_00' WHERE sql_rev = '1621715444570678000';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_06_08_00.sql b/data/sql/old/db_characters/4.x/2021_06_08_00.sql
new file mode 100644
index 0000000000..9e7ac44ea4
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_06_08_00.sql
@@ -0,0 +1,35 @@
+-- DB update 2021_05_30_00 -> 2021_06_08_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_05_30_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_05_30_00 2021_06_08_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1622403654219554600'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1622403654219554600');
+
+ALTER TABLE `item_loot_storage`
+ADD COLUMN `follow_loot_rules` TINYINT UNSIGNED NOT NULL AFTER `randomSuffix`,
+ADD COLUMN `freeforall` TINYINT UNSIGNED NOT NULL AFTER `follow_loot_rules`,
+ADD COLUMN `is_blocked` TINYINT UNSIGNED NOT NULL AFTER `freeforall`,
+ADD COLUMN `is_counted` TINYINT UNSIGNED NOT NULL AFTER `is_blocked`,
+ADD COLUMN `is_underthreshold` TINYINT UNSIGNED NOT NULL AFTER `is_counted`,
+ADD COLUMN `needs_quest` TINYINT UNSIGNED NOT NULL AFTER `is_underthreshold`;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_06_08_00' WHERE sql_rev = '1622403654219554600';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_06_18_00.sql b/data/sql/old/db_characters/4.x/2021_06_18_00.sql
new file mode 100644
index 0000000000..f4645c1d15
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_06_18_00.sql
@@ -0,0 +1,32 @@
+-- DB update 2021_06_08_00 -> 2021_06_18_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_06_08_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_06_08_00 2021_06_18_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1623572783362357500'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1623572783362357500');
+
+ALTER TABLE `item_loot_storage`
+ADD COLUMN `conditionLootId` INT NOT NULL AFTER `needs_quest`;
+
+
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_06_18_00' WHERE sql_rev = '1623572783362357500';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_06_22_00.sql b/data/sql/old/db_characters/4.x/2021_06_22_00.sql
new file mode 100644
index 0000000000..4d407a645b
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_06_22_00.sql
@@ -0,0 +1,29 @@
+-- DB update 2021_06_18_00 -> 2021_06_22_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_06_18_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_06_18_00 2021_06_22_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1624171619907708300'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1624171619907708300');
+
+ALTER TABLE `item_loot_storage` CHANGE `conditionLootId` `conditionLootId` INT DEFAULT 0 NOT NULL;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_06_22_00' WHERE sql_rev = '1624171619907708300';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_06_23_00.sql b/data/sql/old/db_characters/4.x/2021_06_23_00.sql
new file mode 100644
index 0000000000..1d486447d3
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_06_23_00.sql
@@ -0,0 +1,30 @@
+-- DB update 2021_06_22_00 -> 2021_06_23_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_06_22_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_06_22_00 2021_06_23_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1621780938723425400'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1621780938723425400');
+
+ALTER TABLE `mail`
+ADD COLUMN `auctionId` INT DEFAULT 0 NOT NULL AFTER `checked`;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_06_23_00' WHERE sql_rev = '1621780938723425400';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_06_30_00.sql b/data/sql/old/db_characters/4.x/2021_06_30_00.sql
new file mode 100644
index 0000000000..ccfebcd3e4
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_06_30_00.sql
@@ -0,0 +1,45 @@
+-- DB update 2021_06_23_00 -> 2021_06_30_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_06_23_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_06_23_00 2021_06_30_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1624468542752528700'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1624468542752528700');
+
+SET @dbname = DATABASE();
+SET @tablename = "characters";
+SET @columnname = "order";
+SET @preparedStatement = (SELECT IF(
+ (
+ SELECT COUNT(*) FROM information_schema.COLUMNS
+ WHERE
+ (TABLE_NAME = @tablename)
+ AND (TABLE_SCHEMA = @dbname)
+ AND (COLUMN_NAME = @columnname)
+ ) > 0,
+ "SELECT 1 WHERE false",
+ CONCAT("ALTER TABLE `", @tablename, "` ADD `", @columnname, "` TINYINT NULL DEFAULT NULL AFTER `grantableLevels`;")
+));
+PREPARE alterIfNotExists FROM @preparedStatement;
+EXECUTE alterIfNotExists;
+DEALLOCATE PREPARE alterIfNotExists;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_06_30_00' WHERE sql_rev = '1624468542752528700';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_07_06_00.sql b/data/sql/old/db_characters/4.x/2021_07_06_00.sql
new file mode 100644
index 0000000000..9f2b7e0379
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_07_06_00.sql
@@ -0,0 +1,29 @@
+-- DB update 2021_06_30_00 -> 2021_07_06_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_06_30_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_06_30_00 2021_07_06_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1625236840920068800'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1625236840920068800');
+
+UPDATE `character_skills` SET `value` = 300, `max` = 300 WHERE `skill` = 762 AND `value` > 300 AND `max` > 300;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_07_06_00' WHERE sql_rev = '1625236840920068800';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_07_08_00.sql b/data/sql/old/db_characters/4.x/2021_07_08_00.sql
new file mode 100644
index 0000000000..ac84bd29ad
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_07_08_00.sql
@@ -0,0 +1,47 @@
+-- DB update 2021_07_06_00 -> 2021_07_08_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_07_06_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_07_06_00 2021_07_08_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1625571576605726121'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1625571576605726121');
+
+-- Set Riding Skill (762) to 75/75 where Apprentice Riding (33388) is max
+UPDATE `character_skills` SET `value`=75, `max`=75 WHERE `skill`=762 AND `guid` IN
+ (SELECT `guid` FROM `character_spell` WHERE `spell` IN (33388, 33391, 34090, 34091)
+ GROUP BY `guid` HAVING MAX(`spell`)=33388);
+
+-- Set Riding Skill (762) to 150/150 where Journeyman Riding (33391) is max
+UPDATE `character_skills` SET `value`=150, `max`=150 WHERE `skill`=762 AND `guid` IN
+ (SELECT `guid` FROM `character_spell` WHERE `spell` IN (33388, 33391, 34090, 34091)
+ GROUP BY `guid` HAVING MAX(`spell`)=33391);
+
+-- Set Riding Skill (762) to 225/225 where Expert Riding (34090) is max
+UPDATE `character_skills` SET `value`=225, `max`=225 WHERE `skill`=762 AND `guid` IN
+ (SELECT `guid` FROM `character_spell` WHERE `spell` IN (33388, 33391, 34090, 34091)
+ GROUP BY `guid` HAVING MAX(`spell`)=34090);
+
+-- Set Riding Skill (762) to 300/300 where Artisan Riding (34091) is max
+UPDATE `character_skills` SET `value`=300, `max`=300 WHERE `skill`=762 AND `guid` IN
+ (SELECT `guid` FROM `character_spell` WHERE `spell` IN (33388, 33391, 34090, 34091)
+ GROUP BY `guid` HAVING MAX(`spell`)=34091);
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_07_08_00' WHERE sql_rev = '1625571576605726121';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_07_21_00.sql b/data/sql/old/db_characters/4.x/2021_07_21_00.sql
new file mode 100644
index 0000000000..65f109b228
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_07_21_00.sql
@@ -0,0 +1,29 @@
+-- DB update 2021_07_08_00 -> 2021_07_21_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_07_08_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_07_08_00 2021_07_21_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1626271703991541000'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1626271703991541000');
+ALTER TABLE `item_loot_storage`
+ ADD COLUMN `item_index` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `count`;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_07_21_00' WHERE sql_rev = '1626271703991541000';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_09_13_00.sql b/data/sql/old/db_characters/4.x/2021_09_13_00.sql
new file mode 100644
index 0000000000..39837e3b98
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_09_13_00.sql
@@ -0,0 +1,30 @@
+-- DB update 2021_07_21_00 -> 2021_09_13_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_07_21_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_07_21_00 2021_09_13_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1629988683345293500'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1629988683345293500');
+
+ALTER TABLE `character_spell_cooldown` ADD COLUMN `category` MEDIUMINT UNSIGNED DEFAULT 0 NOT NULL AFTER `spell`;
+ALTER TABLE `pet_spell_cooldown` ADD COLUMN `category` MEDIUMINT UNSIGNED DEFAULT 0 NOT NULL AFTER `spell`;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_09_13_00' WHERE sql_rev = '1629988683345293500';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_09_25_00.sql b/data/sql/old/db_characters/4.x/2021_09_25_00.sql
new file mode 100644
index 0000000000..371fcf571d
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_09_25_00.sql
@@ -0,0 +1,29 @@
+-- DB update 2021_09_13_00 -> 2021_09_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_09_13_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_09_13_00 2021_09_25_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1632228952688651200'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1632228952688651200');
+
+ALTER TABLE `characters` ADD COLUMN `innTriggerId` INT UNSIGNED NOT NULL AFTER `deleteDate`;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_09_25_00' WHERE sql_rev = '1632228952688651200';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/4.x/2021_10_14_00.sql b/data/sql/old/db_characters/4.x/2021_10_14_00.sql
new file mode 100644
index 0000000000..2d04ed55d6
--- /dev/null
+++ b/data/sql/old/db_characters/4.x/2021_10_14_00.sql
@@ -0,0 +1,55 @@
+-- DB update 2021_09_25_00 -> 2021_10_14_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_09_25_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_09_25_00 2021_10_14_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1634163696773334100'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1634163696773334100');
+
+--
+DELETE FROM `updates` WHERE `name` IN ('2016_07_09_00.sql', '2016_08_14_00.sql', '2016_07_09_01.sql', '2016_07_10_00.sql', '2016_08_08_00.sql', '2016_07_30_00.sql', '2016_08_12_00.sql', '2016_08_15_00.sql', '2016_08_25_00.sql', '2016_11_18_00.sql', '2016_11_19_00.sql', '2019_12_09_00.sql', '2017_09_18_00.sql', '2018_12_23_00.sql', '2018_04_19_00.sql', '2019_05_15_00.sql', '2019_01_06_00.sql', '2018_08_08_00.sql', '2019_02_17_00.sql', '2019_05_12_00.sql', '2019_11_22_00.sql', '2020_01_04_00.sql');
+INSERT INTO `updates` (`name`, `hash`, `state`, `timestamp`, `speed`) VALUES
+('2016_07_09_00.sql', '6CB4253FF700E83A3FCB121714F32E4FFA70F0F4', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2016_08_14_00.sql', '38462AB366B96C1979F049A5FAF33A1C2DE25E65', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2016_07_09_01.sql', '5A20018FCAEC914DB359E807682F9B826865C2AB', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2016_07_10_00.sql', 'CA163905843EFB726CA838F463448E3833175F70', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2016_08_08_00.sql', '909B26A005C244E715027F8FF31D721D236403AF', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2016_07_30_00.sql', '7CEA690831DD7B6509FB165BD3C5BFF2138AB867', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2016_08_12_00.sql', '9902E3CD09738DA232C168AA374551C1DB2B902E', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2016_08_15_00.sql', '0490565BD304DC7CB73B5A1F4B2348BFD53B9C31', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2016_08_25_00.sql', '2318A3863066AD26B28F80C6ABC9DCCB86A136BA', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2016_11_18_00.sql', '0D4DB0CCC7D7ABF467B1B614E7A5FFCDD5E2A5A3', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2016_11_19_00.sql', '4981B8C9F2368AFB5EDB3160FF9CC63AFD9DB3D9', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2019_12_09_00.sql', '04D33DE31942314C86AC20EA39D74C44228E9819', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2017_09_18_00.sql', '393373BB3CB5525ECF5A69661170AE0B49677AC3', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2018_12_23_00.sql', '0135EE4A7AA472A4BB6F9B76BABE84F8A45645D2', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2018_04_19_00.sql', '1DFB571DEDBACAC579229C7365A2F52330BB84B4', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2019_05_15_00.sql', 'E2D51033471C04D47DA3C091B2FB7D2BBB816E8B', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2019_01_06_00.sql', '043ADFE28ABFBEA7304FCE95183C385646CF78D8', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2018_08_08_00.sql', '8623083F006C05A08D5B1322FF3EFE7304AEB6FC', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2019_02_17_00.sql', 'FF8DE7049A60865CBE70B9736A9B63296A3969DF', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2019_05_12_00.sql', '75DB225858A4D21DA92D21AC292A9DD9A5551BA5', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2019_11_22_00.sql', 'CA433BC426072EF7DDC555B086F65B17BB83CAF5', 'ARCHIVED', '2021-10-14 04:13:44', 1),
+('2020_01_04_00.sql', '7DA0D914F60BE3827068447FE4EA6AA85266E328', 'ARCHIVED', '2021-10-14 04:13:44', 1);
+
+DELETE FROM `updates_include` WHERE `path`='$/data/sql/archive/db_characters';
+INSERT INTO `updates_include` (`path`, `state`) VALUES ('$/data/sql/archive/db_characters', 'ARCHIVED');
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_10_14_00' WHERE sql_rev = '1634163696773334100';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/5.x/2021_10_14_01_characters.sql b/data/sql/old/db_characters/5.x/2021_10_14_01_characters.sql
new file mode 100644
index 0000000000..4c3315aab6
--- /dev/null
+++ b/data/sql/old/db_characters/5.x/2021_10_14_01_characters.sql
@@ -0,0 +1,2 @@
+-- ACDB 335.5-dev characters
+UPDATE `updates` SET `state`='ARCHIVED';
diff --git a/data/sql/old/db_characters/5.x/2021_11_06_00.sql b/data/sql/old/db_characters/5.x/2021_11_06_00.sql
new file mode 100644
index 0000000000..79d99af7a6
--- /dev/null
+++ b/data/sql/old/db_characters/5.x/2021_11_06_00.sql
@@ -0,0 +1,29 @@
+-- DB update 2021_10_14_01_characters -> 2021_11_06_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_10_14_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_10_14_00 2021_11_06_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1635587652443122100'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1635587652443122100');
+
+ALTER TABLE `updates` CHANGE `state` `state` ENUM('RELEASED','CUSTOM','MODULE','ARCHIVED') CHARSET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'RELEASED' NOT NULL COMMENT 'defines if an update is released or archived.';
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_11_06_00' WHERE sql_rev = '1635587652443122100';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/5.x/2021_12_26_00.sql b/data/sql/old/db_characters/5.x/2021_12_26_00.sql
new file mode 100644
index 0000000000..56a727080e
--- /dev/null
+++ b/data/sql/old/db_characters/5.x/2021_12_26_00.sql
@@ -0,0 +1,27 @@
+-- DB update 2021_11_06_00 -> 2021_12_26_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_11_06_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_11_06_00 2021_12_26_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1638643807174948000'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1638643807174948000');
+-- placeholder
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_12_26_00' WHERE sql_rev = '1638643807174948000';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/5.x/2021_12_26_01.sql b/data/sql/old/db_characters/5.x/2021_12_26_01.sql
new file mode 100644
index 0000000000..6622344152
--- /dev/null
+++ b/data/sql/old/db_characters/5.x/2021_12_26_01.sql
@@ -0,0 +1,36 @@
+-- DB update 2021_12_26_00 -> 2021_12_26_01
+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_12_26_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_12_26_00 2021_12_26_01 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1640532476858588300'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1640532476858588300');
+
+-- Create table
+DROP TABLE IF EXISTS `character_settings`;
+CREATE TABLE `character_settings` (
+ `guid` INT UNSIGNED NOT NULL,
+ `source` VARCHAR(40) NOT NULL,
+ `data` TEXT NULL,
+ PRIMARY KEY (`guid`, `source`)
+) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4 COMMENT='Player Settings';
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2021_12_26_01' WHERE sql_rev = '1640532476858588300';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/6.x/2022_01_25_00.sql b/data/sql/old/db_characters/6.x/2022_01_25_00.sql
new file mode 100644
index 0000000000..5d5f9655de
--- /dev/null
+++ b/data/sql/old/db_characters/6.x/2022_01_25_00.sql
@@ -0,0 +1,30 @@
+-- DB update 2021_12_26_01 -> 2022_01_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_12_26_01';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2021_12_26_01 2022_01_25_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1642821969869259834'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1642821969869259834');
+
+-- column `type` contains type of logged action
+ALTER TABLE `log_money` ADD COLUMN `type` TINYINT NOT NULL COMMENT '1=COD,2=AH,3=GB DEPOSIT,4=GB WITHDRAW,5=MAIL,6=TRADE' AFTER `date`;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2022_01_25_00' WHERE sql_rev = '1642821969869259834';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/6.x/2022_01_29_00.sql b/data/sql/old/db_characters/6.x/2022_01_29_00.sql
new file mode 100644
index 0000000000..d4feff91e3
--- /dev/null
+++ b/data/sql/old/db_characters/6.x/2022_01_29_00.sql
@@ -0,0 +1,29 @@
+-- DB update 2022_01_25_00 -> 2022_01_29_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 = '2022_01_25_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2022_01_25_00 2022_01_29_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1642926800068632800'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1642926800068632800');
+
+-- ACDB 335.6-dev characters
+UPDATE `updates` SET `state`='ARCHIVED';
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2022_01_29_00' WHERE sql_rev = '1642926800068632800';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/6.x/2022_02_16_00.sql b/data/sql/old/db_characters/6.x/2022_02_16_00.sql
new file mode 100644
index 0000000000..3c2f297d55
--- /dev/null
+++ b/data/sql/old/db_characters/6.x/2022_02_16_00.sql
@@ -0,0 +1,31 @@
+-- DB update 2022_01_29_00 -> 2022_02_16_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 = '2022_01_29_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2022_01_29_00 2022_02_16_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1644943100668922283'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1644943100668922283');
+
+UPDATE `pvpstats_battlegrounds`
+SET `bracket_id` = `bracket_id` + 1
+WHERE `type` = 1;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2022_02_16_00' WHERE sql_rev = '1644943100668922283';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/6.x/2022_03_01_00.sql b/data/sql/old/db_characters/6.x/2022_03_01_00.sql
new file mode 100644
index 0000000000..7a69248ec5
--- /dev/null
+++ b/data/sql/old/db_characters/6.x/2022_03_01_00.sql
@@ -0,0 +1,29 @@
+-- DB update 2022_02_16_00 -> 2022_03_01_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 = '2022_02_16_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2022_02_16_00 2022_03_01_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1644159033376794200'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1644159033376794200');
+
+ALTER TABLE `mail` DROP COLUMN `auctionId`;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2022_03_01_00' WHERE sql_rev = '1644159033376794200';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/6.x/2022_04_19_00.sql b/data/sql/old/db_characters/6.x/2022_04_19_00.sql
new file mode 100644
index 0000000000..0b2321c15a
--- /dev/null
+++ b/data/sql/old/db_characters/6.x/2022_04_19_00.sql
@@ -0,0 +1,51 @@
+-- DB update 2022_03_01_00 -> 2022_04_19_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 = '2022_03_01_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2022_03_01_00 2022_04_19_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1644531230030579700'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1644531230030579700');
+
+DROP TABLE IF EXISTS `mail_server_character`;
+CREATE TABLE IF NOT EXISTS `mail_server_character` (
+ `guid` INT UNSIGNED NOT NULL,
+ `mailId` INT UNSIGNED NOT NULL,
+ PRIMARY KEY (`guid`, `mailId`)
+) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4;
+
+DROP TABLE IF EXISTS `mail_server_template`;
+CREATE TABLE IF NOT EXISTS `mail_server_template` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `reqLevel` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `reqPlayTime` INT UNSIGNED NOT NULL DEFAULT '0',
+ `moneyA` INT UNSIGNED NOT NULL DEFAULT '0',
+ `moneyH` INT UNSIGNED NOT NULL DEFAULT '0',
+ `itemA` INT UNSIGNED NOT NULL DEFAULT '0',
+ `itemCountA` INT UNSIGNED NOT NULL DEFAULT '0',
+ `itemH` INT UNSIGNED NOT NULL DEFAULT '0',
+ `itemCountH` INT UNSIGNED NOT NULL DEFAULT '0',
+ `subject` TEXT NOT NULL,
+ `body` TEXT NOT NULL,
+ `active` TINYINT UNSIGNED NOT NULL DEFAULT '1',
+ PRIMARY KEY (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4;
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2022_04_19_00' WHERE sql_rev = '1644531230030579700';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/7.x/2022_04_24_00.sql b/data/sql/old/db_characters/7.x/2022_04_24_00.sql
new file mode 100644
index 0000000000..a155913920
--- /dev/null
+++ b/data/sql/old/db_characters/7.x/2022_04_24_00.sql
@@ -0,0 +1,29 @@
+-- DB update 2022_04_19_00 -> 2022_04_24_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 = '2022_04_19_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_characters CHANGE COLUMN 2022_04_19_00 2022_04_24_00 bit;
+SELECT sql_rev INTO OK FROM version_db_characters WHERE sql_rev = '1650806739649650000'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+
+INSERT INTO `version_db_characters` (`sql_rev`) VALUES ('1650806739649650000');
+
+UPDATE `updates` SET `state`='ARCHIVED';
+
+--
+-- END UPDATING QUERIES
+--
+UPDATE version_db_characters SET date = '2022_04_24_00' WHERE sql_rev = '1650806739649650000';
+COMMIT;
+END //
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/old/db_characters/7.x/2022_04_28_00.sql b/data/sql/old/db_characters/7.x/2022_04_28_00.sql
new file mode 100644
index 0000000000..4ed7f2ccc0
--- /dev/null
+++ b/data/sql/old/db_characters/7.x/2022_04_28_00.sql
@@ -0,0 +1,4 @@
+-- DB update 2022_04_24_00 -> 2022_04_28_00
+--
+
+DROP TABLE IF EXISTS `version_db_characters`;
diff --git a/data/sql/old/db_characters/7.x/2022_05_24_00.sql b/data/sql/old/db_characters/7.x/2022_05_24_00.sql
new file mode 100644
index 0000000000..b194a17a11
--- /dev/null
+++ b/data/sql/old/db_characters/7.x/2022_05_24_00.sql
@@ -0,0 +1,9 @@
+-- DB update 2022_04_28_00 -> 2022_05_24_00
+
+DROP TABLE IF EXISTS `instance_saved_go_state_data`;
+CREATE TABLE IF NOT EXISTS `instance_saved_go_state_data` (
+ `id` INT UNSIGNED NOT NULL COMMENT 'instance.id',
+ `guid` INT UNSIGNED NOT NULL COMMENT 'gameobject.guid',
+ `state` TINYINT UNSIGNED DEFAULT '0' COMMENT 'gameobject.state',
+ PRIMARY KEY (`id`, `guid`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
diff --git a/data/sql/old/db_characters/7.x/2022_08_02_00.sql b/data/sql/old/db_characters/7.x/2022_08_02_00.sql
new file mode 100644
index 0000000000..177cfe81f0
--- /dev/null
+++ b/data/sql/old/db_characters/7.x/2022_08_02_00.sql
@@ -0,0 +1,3 @@
+-- DB update 2022_05_24_00 -> 2022_08_02_00
+--
+UPDATE `characters` SET `taxi_path`=CONCAT('0 ', `taxi_path`) WHERE LENGTH(`taxi_path`) > 0;
diff --git a/data/sql/old/db_characters/7.x/2022_08_07_00.sql b/data/sql/old/db_characters/7.x/2022_08_07_00.sql
new file mode 100644
index 0000000000..343f886f9d
--- /dev/null
+++ b/data/sql/old/db_characters/7.x/2022_08_07_00.sql
@@ -0,0 +1,6 @@
+-- DB update 2022_08_02_00 -> 2022_08_07_00
+--
+ALTER TABLE `character_entry_point`
+ADD COLUMN `taxiPath0` INT UNSIGNED DEFAULT 0 NOT NULL AFTER `joinMapId`,
+ADD COLUMN `taxiPath1` INT UNSIGNED DEFAULT 0 NOT NULL AFTER `taxiPath0`,
+DROP COLUMN `taxiPath`;
diff --git a/data/sql/old/db_characters/8.x/2022_08_21_00.sql b/data/sql/old/db_characters/8.x/2022_08_21_00.sql
new file mode 100644
index 0000000000..850986a15c
--- /dev/null
+++ b/data/sql/old/db_characters/8.x/2022_08_21_00.sql
@@ -0,0 +1,3 @@
+--
+
+UPDATE `updates` SET `state`='ARCHIVED';
diff --git a/data/sql/old/db_characters/8.x/2022_10_13_00.sql b/data/sql/old/db_characters/8.x/2022_10_13_00.sql
new file mode 100644
index 0000000000..e462c529fb
--- /dev/null
+++ b/data/sql/old/db_characters/8.x/2022_10_13_00.sql
@@ -0,0 +1,6 @@
+-- DB update 2022_08_21_00 -> 2022_10_13_00
+--
+DELETE FROM `updates` WHERE `name`='Homebind_Orientation.sql';
+
+ALTER TABLE `character_homebind`
+ ADD COLUMN `posO` FLOAT NOT NULL DEFAULT '0' AFTER `posZ`;
diff --git a/data/sql/old/db_characters/8.x/2022_10_20_00.sql b/data/sql/old/db_characters/8.x/2022_10_20_00.sql
new file mode 100644
index 0000000000..3e81308f8b
--- /dev/null
+++ b/data/sql/old/db_characters/8.x/2022_10_20_00.sql
@@ -0,0 +1,8 @@
+-- DB update 2022_10_13_00 -> 2022_10_20_00
+-- Insert world states (for conditions)
+DELETE FROM `worldstates` WHERE `entry` IN (197,198,199,200);
+INSERT INTO `worldstates` (`entry`, `value`, `comment`) values
+(197,0,'Fishing Extravaganza - STV_FISHING_PREV_WIN_TIME'),
+(198,0,'Fishing Extravaganza - STV_FISHING_HAS_WINNER'),
+(199,0,'Fishing Extravaganza - STV_FISHING_ANNOUNCE_EVENT_BEGIN'),
+(200,0,'Fishing Extravaganza - STV_FISHING_ANNOUNCE_POOLS_DESPAN');
diff --git a/data/sql/old/db_characters/9.x/2023_01_31_00.sql b/data/sql/old/db_characters/9.x/2023_01_31_00.sql
new file mode 100644
index 0000000000..be8a4d21b6
--- /dev/null
+++ b/data/sql/old/db_characters/9.x/2023_01_31_00.sql
@@ -0,0 +1 @@
+UPDATE `updates` SET `state`='ARCHIVED';
diff --git a/data/sql/old/db_characters/9.x/2023_03_04_00.sql b/data/sql/old/db_characters/9.x/2023_03_04_00.sql
new file mode 100644
index 0000000000..319f59a25d
--- /dev/null
+++ b/data/sql/old/db_characters/9.x/2023_03_04_00.sql
@@ -0,0 +1,7 @@
+-- DB update 2023_01_31_00 -> 2023_03_04_00
+--
+DROP TABLE IF EXISTS `profanity_name`;
+CREATE TABLE `profanity_name` (
+ `name` VARCHAR(12) NOT NULL,
+ PRIMARY KEY (`name`)
+) ENGINE=InnoDB;
diff --git a/data/sql/old/db_characters/9.x/2023_04_22_00.sql b/data/sql/old/db_characters/9.x/2023_04_22_00.sql
new file mode 100644
index 0000000000..1ce60adf6c
--- /dev/null
+++ b/data/sql/old/db_characters/9.x/2023_04_22_00.sql
@@ -0,0 +1,4 @@
+-- DB update 2023_03_04_00 -> 2023_04_22_00
+--
+ALTER TABLE `characters`
+ ADD COLUMN `extraBonusTalentCount` INT NOT NULL DEFAULT '0' AFTER `innTriggerId`;
diff --git a/data/sql/old/db_characters/9.x/2023_04_23_00.sql b/data/sql/old/db_characters/9.x/2023_04_23_00.sql
new file mode 100644
index 0000000000..e166a4f270
--- /dev/null
+++ b/data/sql/old/db_characters/9.x/2023_04_23_00.sql
@@ -0,0 +1,139 @@
+-- DB update 2023_04_22_00 -> 2023_04_23_00
+-- convert mediumint to int
+ALTER TABLE `character_aura` MODIFY `spell` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `character_pet` MODIFY `CreatedBySpell` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `character_spell` MODIFY `spell` INT UNSIGNED DEFAULT '0' COMMENT 'Spell Identifier';
+ALTER TABLE `character_spell_cooldown` MODIFY `category` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `character_spell_cooldown` MODIFY `spell` INT UNSIGNED DEFAULT '0' COMMENT 'Spell Identifier';
+ALTER TABLE `character_talent` MODIFY `spell` INT UNSIGNED NOT NULL;
+ALTER TABLE `characters` MODIFY `latency` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `characters` MODIFY `transguid` INT DEFAULT '0';
+ALTER TABLE `guild_rank` MODIFY `rights` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `item_instance` MODIFY `flags` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `item_instance` MODIFY `itemEntry` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `pet_aura` MODIFY `amount0` INT DEFAULT NULL;
+ALTER TABLE `pet_aura` MODIFY `amount1` INT DEFAULT NULL;
+ALTER TABLE `pet_aura` MODIFY `amount2` INT DEFAULT NULL;
+ALTER TABLE `pet_aura` MODIFY `base_amount0` INT DEFAULT NULL;
+ALTER TABLE `pet_aura` MODIFY `base_amount1` INT DEFAULT NULL;
+ALTER TABLE `pet_aura` MODIFY `base_amount2` INT DEFAULT NULL;
+ALTER TABLE `pet_aura` MODIFY `spell` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `pet_spell` MODIFY `spell` INT UNSIGNED DEFAULT '0' COMMENT 'Spell Identifier';
+ALTER TABLE `pet_spell_cooldown` MODIFY `category` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `pet_spell_cooldown` MODIFY `spell` INT UNSIGNED DEFAULT '0' COMMENT 'Spell Identifier';
+ALTER TABLE `pvpstats_players` MODIFY `attr_1` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `pvpstats_players` MODIFY `attr_2` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `pvpstats_players` MODIFY `attr_3` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `pvpstats_players` MODIFY `attr_4` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `pvpstats_players` MODIFY `attr_5` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `pvpstats_players` MODIFY `score_bonus_honor` INT UNSIGNED DEFAULT NULL;
+ALTER TABLE `pvpstats_players` MODIFY `score_damage_done` INT UNSIGNED DEFAULT NULL;
+ALTER TABLE `pvpstats_players` MODIFY `score_deaths` INT UNSIGNED DEFAULT NULL;
+ALTER TABLE `pvpstats_players` MODIFY `score_healing_done` INT UNSIGNED DEFAULT NULL;
+ALTER TABLE `pvpstats_players` MODIFY `score_honorable_kills` INT UNSIGNED DEFAULT NULL;
+ALTER TABLE `pvpstats_players` MODIFY `score_killing_blows` INT UNSIGNED DEFAULT NULL;
+ALTER TABLE `quest_tracker` MODIFY `id` INT UNSIGNED DEFAULT '0';
+ALTER TABLE `recovery_item` MODIFY `ItemEntry` INT UNSIGNED DEFAULT '0';
+
+-- Update engine, row format, charset and collation
+ALTER TABLE `account_data` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `account_instance_times` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `account_tutorial` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `addons` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `arena_team` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `arena_team_member` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `auctionhouse` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `banned_addons` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `battleground_deserters` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `bugreport` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `calendar_events` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `calendar_invites` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `channels` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `channels_bans` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `channels_rights` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `characters` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_account_data` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_achievement` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_achievement_progress` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_action` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_arena_stats` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_aura` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_banned` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_battleground_random` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_brew_of_the_month` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_declinedname` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_entry_point` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_equipmentsets` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_gifts` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_glyphs` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_homebind` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_instance` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_inventory` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_pet` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_pet_declinedname` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_queststatus` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_queststatus_daily` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_queststatus_monthly` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_queststatus_rewarded` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_queststatus_seasonal` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_queststatus_weekly` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_reputation` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_settings` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_skills` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_social` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_spell` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_spell_cooldown` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_stats` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `character_talent` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `corpse` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `creature_respawn` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `gameobject_respawn` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `game_event_condition_save` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `game_event_save` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `gm_subsurvey` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `gm_survey` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `gm_ticket` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `groups` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `group_member` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `guild` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `guild_bank_eventlog` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `guild_bank_item` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `guild_bank_right` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `guild_bank_tab` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `guild_eventlog` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `guild_member` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `guild_member_withdraw` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `guild_rank` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `instance` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `instance_reset` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `instance_saved_go_state_data` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `item_instance` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `item_loot_storage` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `item_refund_instance` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `item_soulbound_trade_data` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `lag_reports` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `lfg_data` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `log_arena_fights` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `log_arena_memberstats` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `log_encounter` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `log_money` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `mail` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `mail_items` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `mail_server_character` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `mail_server_template` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `petition` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `petition_sign` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `pet_aura` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `pet_spell` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `pet_spell_cooldown` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `pool_quest_save` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `profanity_name` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `pvpstats_battlegrounds` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `pvpstats_players` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `quest_tracker` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `recovery_item` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `reserved_name` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `updates` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `updates_include` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `warden_action` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';
+ALTER TABLE `worldstates` ENGINE InnoDB ROW_FORMAT=DEFAULT, CONVERT TO CHARSET utf8mb4 COLLATE 'utf8mb4_unicode_ci';