From: J0WI Date: Tue, 2 Mar 2021 00:30:51 +0000 (+0000) Subject: Fix migrateUtf8mb4 for special database names X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=9b6a8a73ff6bc0f741283af8f342d819d1f43542;p=civicrm-core.git Fix migrateUtf8mb4 for special database names --- diff --git a/CRM/Core/BAO/SchemaHandler.php b/CRM/Core/BAO/SchemaHandler.php index 52f08c4513..cd294c1b5f 100644 --- a/CRM/Core/BAO/SchemaHandler.php +++ b/CRM/Core/BAO/SchemaHandler.php @@ -809,10 +809,10 @@ MODIFY {$columnName} varchar( $length ) } foreach ($databases as $database) { - CRM_Core_DAO::executeQuery("ALTER DATABASE $database CHARACTER SET = $newCharSet COLLATE = $newCollation"); + CRM_Core_DAO::executeQuery("ALTER DATABASE `{$database}` CHARACTER SET = $newCharSet COLLATE = $newCollation"); $dao = CRM_Core_DAO::executeQuery("SHOW TABLE STATUS FROM `{$database}` WHERE Engine = 'InnoDB' AND (" . implode(' OR ', $tableNameLikePatterns) . ")"); while ($dao->fetch()) { - $tables["{$database}.{$dao->Name}"] = [ + $tables["`{$database}`.`{$dao->Name}`"] = [ 'Engine' => $dao->Engine, ]; } @@ -825,7 +825,7 @@ MODIFY {$columnName} varchar( $length ) $logging_database = $dsn['database']; $dao = CRM_Core_DAO::executeQuery("SHOW TABLE STATUS FROM `{$logging_database}` WHERE Engine <> 'MyISAM' AND (" . implode(' OR ', $logTableNameLikePatterns) . ")"); while ($dao->fetch()) { - $tables["{$logging_database}.{$dao->Name}"] = [ + $tables["`{$logging_database}`.`{$dao->Name}`"] = [ 'Engine' => $dao->Engine, ]; }