installer minor fixes

This commit is contained in:
Taras Machyshyn
2014-08-14 13:20:06 +03:00
parent 3eec2b2a33
commit 24bbcf0e0a
6 changed files with 114 additions and 26 deletions
+23 -1
View File
@@ -76,7 +76,7 @@ class SystemHelper extends \Espo\Core\Utils\System
return $result;
}
public function checkDbConnection($hostName, $port ,$dbUserName, $dbUserPass, $dbName, $dbDriver = 'pdo_mysql')
public function checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, $dbDriver = 'pdo_mysql', $isCreateDatabase = true)
{
$result['success'] = true;
@@ -104,6 +104,28 @@ class SystemHelper extends \Espo\Core\Utils\System
$result['errors']['dbConnect']['errorMsg'] = $e->getMessage();
$result['success'] = false;
}
/** try to create a database */
if ($isCreateDatabase && !$result['success'] && $result['errors']['dbConnect']['errorCode'] == '1049') {
$dsn = "mysql:host={$hostName};" . ((!empty($port)) ? "port={$port}" : '');
$pdo = new PDO($dsn, $dbUserName, $dbUserPass);
$isCreated = true;
try {
$pdo->query("CREATE DATABASE IF NOT EXISTS `$dbName`");
} catch (PDOException $e) {
$isCreated = false;
}
if ($isCreated) {
return $this->checkDbConnection($hostName, $port, $dbUserName, $dbUserPass, $dbName, $dbDriver, false);
}
}
/** END: try to create a database */
break;
}