fix installer create database

This commit is contained in:
Yuri Kuznetsov
2022-04-19 10:49:57 +03:00
parent 51ce0780fd
commit 47d049ab93
+7 -2
View File
@@ -294,13 +294,18 @@ class Installer
$pdo = $this->getDatabaseHelper()->createPdoConnection($params);
}
catch (Exception $e) {
if ($createDatabase && $e->getCode() == '1049') {
$pdo = $this->getDatabaseHelper()
->createPdoConnection($params, true);
$dbname = preg_replace('/[^A-Za-z0-9_]+/', '', $params['dbname']);
if ($dbname !== $params['dbname']) {
throw new Exception("Bad database name.");
}
$pdo->query(
"CREATE DATABASE IF NOT EXISTS `" . $params['dbname'] . "`"
"CREATE DATABASE IF NOT EXISTS `" . $dbname . "`"
);
return $this->checkDatabaseConnection($params, false);