From 6e77dc8f78da88ffbcc906a47726e02ea047a812 Mon Sep 17 00:00:00 2001 From: funjoker Date: Tue, 22 Sep 2020 01:22:59 +0200 Subject: [PATCH] DB/Core: Converted hotfix database charset to utf8mb4 Update DBUpdater to create databases with utf8mb4 --- sql/create/create_mysql.sql | 2 +- sql/updates/hotfixes/4.3.4/2020_09_22_00_hotfixes.sql | 10 ++++++++++ src/server/database/Updater/DBUpdater.cpp | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 sql/updates/hotfixes/4.3.4/2020_09_22_00_hotfixes.sql diff --git a/sql/create/create_mysql.sql b/sql/create/create_mysql.sql index 0f3969ed021..c7b203cd273 100644 --- a/sql/create/create_mysql.sql +++ b/sql/create/create_mysql.sql @@ -8,7 +8,7 @@ CREATE DATABASE `characters` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `auth` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; -CREATE DATABASE `hotfixes` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; +CREATE DATABASE `hotfixes` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT ALL PRIVILEGES ON `world` . * TO 'trinity'@'localhost' WITH GRANT OPTION; diff --git a/sql/updates/hotfixes/4.3.4/2020_09_22_00_hotfixes.sql b/sql/updates/hotfixes/4.3.4/2020_09_22_00_hotfixes.sql new file mode 100644 index 00000000000..65954e1a8e1 --- /dev/null +++ b/sql/updates/hotfixes/4.3.4/2020_09_22_00_hotfixes.sql @@ -0,0 +1,10 @@ +ALTER DATABASE CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; +ALTER TABLE `hotfix_data` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `item` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `item_currency_cost` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `item_extended_cost` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `item_sparse` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `item_sparse_locale` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `key_chain` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `updates` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +ALTER TABLE `updates_include` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; diff --git a/src/server/database/Updater/DBUpdater.cpp b/src/server/database/Updater/DBUpdater.cpp index 152f6f157d7..806c4eaf59c 100644 --- a/src/server/database/Updater/DBUpdater.cpp +++ b/src/server/database/Updater/DBUpdater.cpp @@ -213,7 +213,7 @@ bool DBUpdater::Create(DatabaseWorkerPool& pool) return false; } - file << "CREATE DATABASE `" << pool.GetConnectionInfo()->database << "` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci\n\n"; + file << "CREATE DATABASE `" << pool.GetConnectionInfo()->database << "` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci\n\n"; file.close();