Updated db setup to catch PDOExceptions

This commit is contained in:
Duncan Sommerville 2014-12-11 15:54:55 -05:00
parent 3966a7aa36
commit 270e84e9d8
1 changed files with 20 additions and 15 deletions

View File

@ -44,12 +44,7 @@ class DatabaseSetup extends Setup {
. ";user=" . $this->user . ";password=" . $this->pass);
$err = self::$dbh->errorInfo();
if ($err[1] != null) {
throw new AirtimeDatabaseException("Couldn't establish a connection to the database!",
array(
self::DB_NAME,
self::DB_USER,
self::DB_PASS,
));
throw new PDOException();
}
}
@ -61,6 +56,7 @@ class DatabaseSetup extends Setup {
* @throws AirtimeDatabaseException
*/
public function runSetup() {
try {
$this->setNewDatabaseConnection("postgres");
if ($this->checkDatabaseExists()) {
$this->installDatabaseTables();
@ -69,6 +65,15 @@ class DatabaseSetup extends Setup {
$this->createDatabase();
$this->installDatabaseTables();
}
} catch (PDOException $e) {
throw new AirtimeDatabaseException("Couldn't establish a connection to the database! "
. "Please check your credentials and try again.",
array(
self::DB_NAME,
self::DB_USER,
self::DB_PASS,
));
}
$this->writeToTemp();