From eae4d378f7d226d6d260da5b02fd03976413e369 Mon Sep 17 00:00:00 2001 From: lukinovec Date: Mon, 24 Apr 2023 13:20:02 +0200 Subject: [PATCH] Swap try/catch for if statements --- src/Jobs/CreatePostgresUserForTenant.php | 4 +--- src/Jobs/DeleteTenantsPostgresUser.php | 11 +++++------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/Jobs/CreatePostgresUserForTenant.php b/src/Jobs/CreatePostgresUserForTenant.php index 74c09fb7..8cda822a 100644 --- a/src/Jobs/CreatePostgresUserForTenant.php +++ b/src/Jobs/CreatePostgresUserForTenant.php @@ -38,10 +38,8 @@ class CreatePostgresUserForTenant implements ShouldQueue $name = $this->tenant->getTenantKey(); $password = $this->tenant->database()->getPassword() ?? 'password'; - try { + if (count(DB::select("SELECT usename FROM pg_user WHERE usename = '$name';")) > 0) { DB::statement("CREATE USER \"$name\" LOGIN PASSWORD '$password';"); - } catch (QueryException $exception) { - // Skip creating Postgres user if it already exists } } } diff --git a/src/Jobs/DeleteTenantsPostgresUser.php b/src/Jobs/DeleteTenantsPostgresUser.php index b58c7e74..15e0f5a1 100644 --- a/src/Jobs/DeleteTenantsPostgresUser.php +++ b/src/Jobs/DeleteTenantsPostgresUser.php @@ -35,14 +35,13 @@ class DeleteTenantsPostgresUser implements ShouldQueue */ public function handle() { - $tenantKey = $this->tenant->getTenantKey(); + $name = $this->tenant->getTenantKey(); // Revoke all permissions of a Postgres user before dropping it - try { - DB::statement("DROP OWNED BY \"{$tenantKey}\";"); - DB::statement("DROP USER \"{$tenantKey}\";"); - } catch (QueryException $exception) { - // Skip dropping permissions if the user doesn't exist + // Skip dropping permissions if the user doesn't exist + if (count(DB::select("SELECT usename FROM pg_user WHERE usename = '$name';")) > 0) { + DB::statement("DROP OWNED BY \"{$name}\";"); + DB::statement("DROP USER \"{$name}\";"); } } }