diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php
index 50d0dfff4..cd8161490 100644
--- a/src/Wallabag/CoreBundle/Command/InstallCommand.php
+++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php
@@ -96,9 +96,11 @@ class InstallCommand extends ContainerAwareCommand
try {
$this->getContainer()->get('doctrine')->getManager()->getConnection()->connect();
} catch (\Exception $e) {
- $fulfilled = false;
- $status = 'ERROR!';
- $help = 'Can\'t connect to the database: '.$e->getMessage();
+ if (false === strpos($e->getMessage(), "Unknown database")) {
+ $fulfilled = false;
+ $status = 'ERROR!';
+ $help = 'Can\'t connect to the database: '.$e->getMessage();
+ }
}
$rows[] = [$label, $status, $help];
@@ -472,7 +474,7 @@ class InstallCommand extends ContainerAwareCommand
}
// custom verification for sqlite, since `getListDatabasesSQL` doesn't work for sqlite
- if ('sqlite' == $schemaManager->getDatabasePlatform()->getName()) {
+ if ('sqlite' === $schemaManager->getDatabasePlatform()->getName()) {
$params = $this->getContainer()->get('doctrine.dbal.default_connection')->getParams();
if (isset($params['path']) && file_exists($params['path'])) {
diff --git a/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php b/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php
index 089a1c5fe..83f5bf246 100644
--- a/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php
+++ b/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php
@@ -127,6 +127,12 @@ class InstallCommandTest extends WallabagCoreTestCase
public function testRunInstallCommandWithDatabaseRemoved()
{
+ // skipped SQLite check when database is removed because while testing for the connection,
+ // the driver will create the file (so the database) before testing if database exist
+ if ($this->getClient()->getContainer()->get('doctrine')->getConnection()->getDriver() instanceof \Doctrine\DBAL\Driver\PDOSqlite\Driver) {
+ $this->markTestSkipped('SQLite spotted: can\'t test with database removed.');
+ }
+
$application = new Application($this->getClient()->getKernel());
$application->add(new DropDatabaseDoctrineCommand());