From 69c21157baa16ac838d408607856dd653da919d8 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Sun, 10 Apr 2016 15:34:32 +0200 Subject: [PATCH] Force server version to avoid connexion error When installing a new project with MySQL, if the database doesn't exist before installation will fail because DBAL will try to get the server version by querying it. And since this query is done using the default database connexion and since the database doesn't exist, DBAL can't connect to the server. --- app/config/config.yml | 1 + src/Wallabag/CoreBundle/Command/InstallCommand.php | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/config/config.yml b/app/config/config.yml index a87666940..861884551 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -82,6 +82,7 @@ doctrine: password: "%database_password%" charset: UTF8 path: "%database_path%" + server_version: 5.6 orm: auto_generate_proxy_classes: "%kernel.debug%" diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php index c5a5a519c..2e4a59dfd 100644 --- a/src/Wallabag/CoreBundle/Command/InstallCommand.php +++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php @@ -455,7 +455,13 @@ class InstallCommand extends ContainerAwareCommand return false; } - return in_array($databaseName, $schemaManager->listDatabases()); + try { + return in_array($databaseName, $schemaManager->listDatabases()); + } catch (\Doctrine\DBAL\Exception\ConnectionException $e) { + // it means we weren't able to get database list, assume the database doesn't exist + + return false; + } } /**