+ $rows[] = [sprintf($label, $this->getContainer()->getParameter('database_driver')), $status, $help];
+
+ // testing if connection to the database can be etablished
+ $label = '<comment>Database connection</comment>';
+ $status = '<info>OK!</info>';
+ $help = '';
+
+ try {
+ $conn = $this->getContainer()->get('doctrine')->getManager()->getConnection();
+ $conn->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];
+
+ // now check if MySQL isn't too old to handle utf8mb4
+ if ($conn->isConnected() && $conn->getDatabasePlatform() instanceof \Doctrine\DBAL\Platforms\MySqlPlatform) {
+ $version = $conn->query('select version()')->fetchColumn();
+ $minimalVersion = '5.5.4';
+
+ if (false === version_compare($version, $minimalVersion, '>')) {
+ $fulfilled = false;
+ $rows[] = [
+ '<comment>Database version</comment>',
+ '<error>ERROR!</error>',
+ 'Your MySQL version ('.$version.') is too old, consider upgrading ('.$minimalVersion.'+).',
+ ];
+ }
+ }
+
+ foreach ($this->functionExists as $functionRequired) {
+ $label = '<comment>'.$functionRequired.'</comment>';