From 0f8eb2ec6a3350ee5ba2ba1346f295586a945c8a Mon Sep 17 00:00:00 2001 From: lukinovec Date: Tue, 25 Feb 2025 14:11:02 +0100 Subject: [PATCH] Fix RLS tree generation (specify schema name in generateTrees()) --- src/RLS/PolicyManagers/TableRLSManager.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/RLS/PolicyManagers/TableRLSManager.php b/src/RLS/PolicyManagers/TableRLSManager.php index 098e8015..61c62f94 100644 --- a/src/RLS/PolicyManagers/TableRLSManager.php +++ b/src/RLS/PolicyManagers/TableRLSManager.php @@ -75,7 +75,10 @@ class TableRLSManager implements RLSPolicyManager $builder = $this->database->getSchemaBuilder(); // We loop through each table in the database - foreach ($builder->getTableListing() as $table) { + foreach ($builder->getTableListing(schema: $this->database->getConfig('search_path')) as $table) { + // E.g. "public.table_name" -> "table_name" + $table = str($table)->afterLast('.')->toString(); + // For each table, we get a list of all foreign key columns $foreignKeys = collect($builder->getForeignKeys($table))->map(function ($foreign) use ($table) { return $this->formatForeignKey($foreign, $table);