1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-02-05 08:24:05 +00:00

Make schema configurable in CreatePostgresUserForTenant

This commit is contained in:
lukinovec 2023-07-28 13:31:06 +02:00
parent 2a5683122e
commit 4ed5aa0add

View file

@ -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);
}
});