Add a check for the database connection

Checking for the driver isn't enough.
We are now checking if we can etablish a connection to the database before trying to do anything.
By displaying the error from the Exception (in case of error) we hope to reduce issues overload about people getting error with the database
This commit is contained in:
Jeremy Benoist 2016-09-03 09:24:34 +02:00
parent 985f5f9d05
commit 001a7bad66
No known key found for this signature in database
GPG Key ID: BCA73962457ACC3C

View File

@ -72,8 +72,10 @@ class InstallCommand extends ContainerAwareCommand
{
$this->defaultOutput->writeln('<info><comment>Step 1 of 5.</comment> Checking system requirements.</info>');
$fulfilled = true;
$rows = [];
// testing if database driver exists
$fulfilled = true;
$label = '<comment>PDO Driver</comment>';
$status = '<info>OK!</info>';
$help = '';
@ -84,7 +86,21 @@ class InstallCommand extends ContainerAwareCommand
$help = 'Database driver "'.$this->getContainer()->getParameter('database_driver').'" is not installed.';
}
$rows = [];
$rows[] = [$label, $status, $help];
// testing if connection to the database can be etablished
$label = '<comment>Database connection</comment>';
$status = '<info>OK!</info>';
$help = '';
try {
$this->getContainer()->get('doctrine')->getManager()->getConnection()->connect();
} catch (\Exception $e) {
$fulfilled = false;
$status = '<error>ERROR!</error>';
$help = 'Can\'t connect to the database: '.$e->getMessage();
}
$rows[] = [$label, $status, $help];
foreach ($this->functionExists as $functionRequired) {