From 4ed5aa0add596cc42bbf8d3cdbc050e15533c238 Mon Sep 17 00:00:00 2001 From: lukinovec Date: Fri, 28 Jul 2023 13:31:06 +0200 Subject: [PATCH] Make schema configurable in CreatePostgresUserForTenant --- src/Jobs/CreatePostgresUserForTenant.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Jobs/CreatePostgresUserForTenant.php b/src/Jobs/CreatePostgresUserForTenant.php index 16b01043..f9a9ecce 100644 --- a/src/Jobs/CreatePostgresUserForTenant.php +++ b/src/Jobs/CreatePostgresUserForTenant.php @@ -51,11 +51,12 @@ class CreatePostgresUserForTenant implements ShouldQueue { /** @var \Stancl\Tenancy\Database\Contracts\StatefulTenantDatabaseManager $databaseManager */ $databaseManager = $this->tenant->database()->manager(); + $schema = config('database.connections.pgsql.search_path', 'public'); /** @var Model[] $tenantModels */ $tenantModels = tenancy()->getTenantModels(); - $databaseManager->database()->transaction(function () use ($userName, $databaseManager, $tenantModels) { + $databaseManager->database()->transaction(function () use ($userName, $databaseManager, $tenantModels, $schema) { foreach ($tenantModels as $model) { $table = $model->getTable(); @@ -64,7 +65,7 @@ class CreatePostgresUserForTenant implements ShouldQueue $databaseManager->database()->statement($formattedStatement); } - $formattedStatement = $databaseManager->database()->select("SELECT format('GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO %I', '$userName')")[0]->format; + $formattedStatement = $databaseManager->database()->select("SELECT format('GRANT USAGE ON ALL SEQUENCES IN SCHEMA %I TO %I', '$schema', '$userName')")[0]->format; $databaseManager->database()->statement($formattedStatement); } });