From 221ddc8ba04cfb238e491307842e6dba323eeb6c Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Sun, 21 Jan 2024 02:44:37 +0100 Subject: [PATCH] Get database name from the connection --- app/config/services.yml | 1 - src/Command/InstallCommand.php | 8 +++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/config/services.yml b/app/config/services.yml index d29ef44b2..f44f4db00 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -260,7 +260,6 @@ services: Wallabag\Command\InstallCommand: arguments: $databaseDriver: '%database_driver%' - $databaseName: '%database_name%' $defaultSettings: '%wallabag.default_internal_settings%' $defaultIgnoreOriginInstanceRules: '%wallabag.default_ignore_origin_instance_rules%' diff --git a/src/Command/InstallCommand.php b/src/Command/InstallCommand.php index 6b1d4fd23..c943ba0c9 100644 --- a/src/Command/InstallCommand.php +++ b/src/Command/InstallCommand.php @@ -41,17 +41,15 @@ class InstallCommand extends Command private EventDispatcherInterface $dispatcher; private UserManagerInterface $userManager; private string $databaseDriver; - private string $databaseName; private array $defaultSettings; private array $defaultIgnoreOriginInstanceRules; - public function __construct(EntityManagerInterface $entityManager, EventDispatcherInterface $dispatcher, UserManagerInterface $userManager, string $databaseDriver, string $databaseName, array $defaultSettings, array $defaultIgnoreOriginInstanceRules) + public function __construct(EntityManagerInterface $entityManager, EventDispatcherInterface $dispatcher, UserManagerInterface $userManager, string $databaseDriver, array $defaultSettings, array $defaultIgnoreOriginInstanceRules) { $this->entityManager = $entityManager; $this->dispatcher = $dispatcher; $this->userManager = $userManager; $this->databaseDriver = $databaseDriver; - $this->databaseName = $databaseName; $this->defaultSettings = $defaultSettings; $this->defaultIgnoreOriginInstanceRules = $defaultIgnoreOriginInstanceRules; @@ -127,7 +125,7 @@ class InstallCommand extends Command $conn->connect(); } catch (\Exception $e) { if (!str_contains($e->getMessage(), 'Unknown database') - && !str_contains($e->getMessage(), 'database "' . $this->databaseName . '" does not exist')) { + && !str_contains($e->getMessage(), 'database "' . $conn->getDatabase() . '" does not exist')) { $fulfilled = false; $status = 'ERROR!'; $help = 'Can\'t connect to the database: ' . $e->getMessage(); @@ -387,7 +385,7 @@ class InstallCommand extends Command private function isDatabasePresent() { $connection = $this->entityManager->getConnection(); - $databaseName = $connection->getDatabase(); + $databaseName = $connection->getParams()['dbname']; try { $schemaManager = $connection->createSchemaManager();