X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/3acea12f1c0013be4f1e3994cae2ea662e43bb4e..refs/pull/5280/head:/app/Config/database.php diff --git a/app/Config/database.php b/app/Config/database.php index 93a44854f..59ac0f31b 100644 --- a/app/Config/database.php +++ b/app/Config/database.php @@ -11,10 +11,9 @@ // REDIS // Split out configuration into an array if (env('REDIS_SERVERS', false)) { - $redisDefaults = ['host' => '127.0.0.1', 'port' => '6379', 'database' => '0', 'password' => null]; $redisServers = explode(',', trim(env('REDIS_SERVERS', '127.0.0.1:6379:0'), ',')); - $redisConfig = []; + $redisConfig = ['client' => 'predis']; $cluster = count($redisServers) > 1; if ($cluster) { @@ -59,58 +58,42 @@ return [ // Many of those shown here are unsupported by BookStack. 'connections' => [ - 'sqlite' => [ - 'driver' => 'sqlite', - 'database' => storage_path('database.sqlite'), - 'prefix' => '', - ], - 'mysql' => [ - 'driver' => 'mysql', - 'host' => $mysql_host, - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'unix_socket' => env('DB_SOCKET', ''), - 'port' => $mysql_port, - 'charset' => 'utf8mb4', - 'collation' => 'utf8mb4_unicode_ci', - 'prefix' => '', - 'strict' => false, - 'engine' => null, + 'driver' => 'mysql', + 'url' => env('DATABASE_URL'), + 'host' => $mysql_host, + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'port' => $mysql_port, + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + // Prefixes are only semi-supported and may be unstable + // since they are not tested as part of our automated test suite. + // If used, the prefix should not be changed otherwise you will likely receive errors. + 'prefix' => env('DB_TABLE_PREFIX', ''), + 'prefix_indexes' => true, + 'strict' => false, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], ], 'mysql_testing' => [ - 'driver' => 'mysql', - 'host' => '127.0.0.1', - 'database' => 'bookstack-test', - 'username' => env('MYSQL_USER', 'bookstack-test'), - 'password' => env('MYSQL_PASSWORD', 'bookstack-test'), - 'charset' => 'utf8', - 'collation' => 'utf8_unicode_ci', - 'prefix' => '', - 'strict' => false, - ], - - 'pgsql' => [ - 'driver' => 'pgsql', - 'host' => env('DB_HOST', 'localhost'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', - 'prefix' => '', - 'schema' => 'public', - ], - - 'sqlsrv' => [ - 'driver' => 'sqlsrv', - 'host' => env('DB_HOST', 'localhost'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', - 'prefix' => '', + 'driver' => 'mysql', + 'url' => env('TEST_DATABASE_URL'), + 'host' => '127.0.0.1', + 'database' => 'bookstack-test', + 'username' => env('MYSQL_USER', 'bookstack-test'), + 'password' => env('MYSQL_PASSWORD', 'bookstack-test'), + 'port' => $mysql_port, + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => false, ], ], @@ -122,6 +105,6 @@ return [ 'migrations' => 'migrations', // Redis configuration to use if set - 'redis' => env('REDIS_SERVERS', false) ? $redisConfig : [], + 'redis' => $redisConfig ?? [], ];