+ $rows[] = [$label, $status, $help];
+
+ // testing if connection to the database can be etablished
+ $label = '<comment>Database connection</comment>';
+ $status = '<info>OK!</info>';
+ $help = '';
+
+ try {
+ $doctrineManager->getConnection()->connect();
+ } catch (\Exception $e) {
+ if (false === strpos($e->getMessage(), 'Unknown database')
+ && false === strpos($e->getMessage(), 'database "'.$this->getContainer()->getParameter('database_name').'" does not exist')) {
+ $fulfilled = false;
+ $status = '<error>ERROR!</error>';
+ $help = 'Can\'t connect to the database: '.$e->getMessage();
+ }
+ }
+
+ $rows[] = [$label, $status, $help];
+
+ // testing if PostgreSQL > 9.1
+ $label = '<comment>SGBD version</comment>';
+ $status = '<info>OK!</info>';
+ $help = '';
+
+ if ('postgresql' === $doctrineManager->getConnection()->getSchemaManager()->getDatabasePlatform()->getName()) {
+ // return version should be like "PostgreSQL 9.5.4 on x86_64-apple-darwin15.6.0, compiled by Apple LLVM version 8.0.0 (clang-800.0.38), 64-bit"
+ $version = $doctrineManager->getConnection()->query('SELECT version();')->fetchColumn();
+
+ preg_match('/PostgreSQL ([0-9\.]+)/i', $version, $matches);
+
+ if (isset($matches[1]) & version_compare($matches[1], '9.2.0', '<')) {
+ $fulfilled = false;
+ $status = '<error>ERROR!</error>';
+ $help = 'PostgreSQL should be greater than 9.1 (actual version: '.$matches[1].')';
+ }
+ }
+