Per https://github.com/laravel/framework/pull/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.
* Use phpredis as default Redis client
Follow up for https://github.com/laravel/framework/pull/29688
It's best that we already start using `phpredis` as a default to discourage usage of Predis.
* Update database.php
It was the only redis setting that wasn't overridable by an environment variable. It can help if you have multiple instances using the same `APP_NAME`, e.g. a staging instance
This enables the sqlite `foreign_key_constraints` option that was introduced with laravel/framework#26298 for all new installs.
The env variable DB_FOREIGN_KEYS was added to make it easier to handle this in testing (e.g. via phpunit.xml).
In https://github.com/laravel/laravel/pull/3641 was decided to use `127.0.0.1` instead of `localhost` to avoid DNS lookups
This change is to maintain consistency between `.env` and `database.php`
The commit 586bffa1d7 added support for sslmode in PostgresConnector.php and sslmode has been around since postgres version 9.1 (2011).
This change makes it possible to specify sslmode from the config file.
Also serves as documentation to other developers so they don't have to
dive deep into the code to figure out that it's posible to set this option.
The posible values for sslmode are:
disable, allow, prefer, require, verify-ca, verify-full
The default value is "prefer".
http://www.postgresql.org/docs/9.5/static/libpq-ssl.html#LIBPQ-SSL-PROTECTION