Skip to content

Commit 195a7e0

Browse files
authored
Replace schema with search_path in pgsql config (laravel#5726)
Per laravel/framework#35588 , the term "schema" (a namespace) has been corrected to "search_path" (a list of namespaces), where appropriate, throughout the framework. Accordingly, the `schema` configuration key should be changed to `search_path` to better reflect the fact that it may specify a _list_ of schemata (schemas), and not just a single schema. (In several Laravel versions prior to 9.0, the `schema` key could already specify more than one schema, but this fact was undocumented and non-obvious without examining the implementation carefully.) As of Laravel 9.0, the `search_path` may specify any number of schemata, in any of the following formats: 'search_path' => 'public', 'search_path' => 'public,laravel', 'search_path' => ['public', '"laravel"', "'foobar'", '$bat'], 'search_path' => '\'public\', "laravel", "\'foobar\'", \'$bat\'', 'search_path' => '"$user", public', Note that in the last example, the `$user` variable refers to PostgreSQL's special $user variable, as described in the Schema Documentation ( https://www.postgresql.org/docs/current/ddl-schemas.html ). Note also that Laravel's default `search_path` value, 'public', is not necessarily the best choice for every use case. Developers should consult the "Usage Patterns" section of the aforementioned documentation before deciding how best to set the `search_path`, as it has security implications.
1 parent aa71b03 commit 195a7e0

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

config/database.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
'charset' => 'utf8',
7575
'prefix' => '',
7676
'prefix_indexes' => true,
77-
'schema' => 'public',
77+
'search_path' => 'public',
7878
'sslmode' => 'prefer',
7979
],
8080

0 commit comments

Comments
 (0)