From 2680e21325a0de3e829f4294e949ebd3df52cc84 Mon Sep 17 00:00:00 2001 From: Refringe Date: Sat, 3 Aug 2024 12:06:01 -0400 Subject: [PATCH] Import Script - Temp Table Charset/Collation Sets the charset to `utf8mb4` and the collation to `utf8mb4_0900_ai_ci` when the temporary tables are created in the import script. Prevents conversion errors when the MySQL defaults are not set to match the expected charset and collation. --- app/Jobs/ImportHubData.php | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/app/Jobs/ImportHubData.php b/app/Jobs/ImportHubData.php index 5a54ebc..5edcd40 100644 --- a/app/Jobs/ImportHubData.php +++ b/app/Jobs/ImportHubData.php @@ -64,10 +64,7 @@ class ImportHubData implements ShouldBeUnique, ShouldQueue protected function bringFileAuthorsLocal(): void { DB::statement('DROP TEMPORARY TABLE IF EXISTS temp_file_author'); - DB::statement('CREATE TEMPORARY TABLE temp_file_author ( - fileID INT, - userID INT - )'); + DB::statement('CREATE TEMPORARY TABLE temp_file_author (fileID INT, userID INT) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci'); DB::connection('mysql_hub') ->table('filebase1_file_author') @@ -88,11 +85,7 @@ class ImportHubData implements ShouldBeUnique, ShouldQueue protected function bringFileOptionsLocal(): void { DB::statement('DROP TEMPORARY TABLE IF EXISTS temp_file_option_values'); - DB::statement('CREATE TEMPORARY TABLE temp_file_option_values ( - fileID INT, - optionID INT, - optionValue VARCHAR(255) - )'); + DB::statement('CREATE TEMPORARY TABLE temp_file_option_values (fileID INT, optionID INT, optionValue VARCHAR(255)) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci'); DB::connection('mysql_hub') ->table('filebase1_file_option_value') @@ -114,12 +107,7 @@ class ImportHubData implements ShouldBeUnique, ShouldQueue protected function bringFileContentLocal(): void { DB::statement('DROP TEMPORARY TABLE IF EXISTS temp_file_content'); - DB::statement('CREATE TEMPORARY TABLE temp_file_content ( - fileID INT, - subject VARCHAR(255), - teaser VARCHAR(255), - message LONGTEXT - )'); + DB::statement('CREATE TEMPORARY TABLE temp_file_content (fileID INT, subject VARCHAR(255), teaser VARCHAR(255), message LONGTEXT) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci'); DB::connection('mysql_hub') ->table('filebase1_file_content') @@ -142,10 +130,7 @@ class ImportHubData implements ShouldBeUnique, ShouldQueue protected function bringFileVersionLabelsLocal(): void { DB::statement('DROP TEMPORARY TABLE IF EXISTS temp_file_version_labels'); - DB::statement('CREATE TEMPORARY TABLE temp_file_version_labels ( - labelID INT, - objectID INT - )'); + DB::statement('CREATE TEMPORARY TABLE temp_file_version_labels (labelID INT, objectID INT) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci'); DB::connection('mysql_hub') ->table('wcf1_label_object') @@ -167,10 +152,7 @@ class ImportHubData implements ShouldBeUnique, ShouldQueue protected function bringFileVersionContentLocal(): void { DB::statement('DROP TEMPORARY TABLE IF EXISTS temp_file_version_content'); - DB::statement('CREATE TEMPORARY TABLE temp_file_version_content ( - versionID INT, - description TEXT - )'); + DB::statement('CREATE TEMPORARY TABLE temp_file_version_content (versionID INT, description TEXT) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci'); DB::connection('mysql_hub') ->table('filebase1_file_version_content')