*/ public array $default = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => '', 'password' => '', 'database' => '', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => true, 'charset' => 'utf8mb4', 'DBCollat' => 'utf8mb4_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, 'numberNative' => false, 'foundRows' => false, 'dateFormat' => [ 'date' => 'Y-m-d', 'datetime' => 'Y-m-d H:i:s', 'time' => 'H:i:s', ], ]; /** * Merge .env database config into default (for CLI/env override) */ public function __construct() { parent::__construct(); $hostname = env('database.default.hostname') ?? env('database_default_hostname'); if ($hostname !== null && $hostname !== '') { $this->default['hostname'] = $hostname; } $database = env('database.default.database') ?? env('database_default_database'); if ($database !== null && $database !== '') { $this->default['database'] = $database; } $username = env('database.default.username') ?? env('database_default_username'); if ($username !== null && $username !== '') { $this->default['username'] = $username; } $password = env('database.default.password') ?? env('database_default_password'); if ($password !== null) { $this->default['password'] = (string) $password; } $driver = env('database.default.DBDriver') ?? env('database_default_DBDriver'); if ($driver !== null && $driver !== '') { $this->default['DBDriver'] = $driver; } $port = env('database.default.port') ?? env('database_default_port'); if ($port !== null && $port !== '') { $this->default['port'] = (int) $port; } if (ENVIRONMENT === 'testing') { $this->defaultGroup = 'tests'; } } // /** // * Sample database connection for SQLite3. // * // * @var array // */ // public array $default = [ // 'database' => 'database.db', // 'DBDriver' => 'SQLite3', // 'DBPrefix' => '', // 'DBDebug' => true, // 'swapPre' => '', // 'failover' => [], // 'foreignKeys' => true, // 'busyTimeout' => 1000, // 'synchronous' => null, // 'dateFormat' => [ // 'date' => 'Y-m-d', // 'datetime' => 'Y-m-d H:i:s', // 'time' => 'H:i:s', // ], // ]; // /** // * Sample database connection for Postgre. // * // * @var array // */ // public array $default = [ // 'DSN' => '', // 'hostname' => 'localhost', // 'username' => 'root', // 'password' => 'root', // 'database' => 'ci4', // 'schema' => 'public', // 'DBDriver' => 'Postgre', // 'DBPrefix' => '', // 'pConnect' => false, // 'DBDebug' => true, // 'charset' => 'utf8', // 'swapPre' => '', // 'failover' => [], // 'port' => 5432, // 'dateFormat' => [ // 'date' => 'Y-m-d', // 'datetime' => 'Y-m-d H:i:s', // 'time' => 'H:i:s', // ], // ]; // /** // * Sample database connection for SQLSRV. // * // * @var array // */ // public array $default = [ // 'DSN' => '', // 'hostname' => 'localhost', // 'username' => 'root', // 'password' => 'root', // 'database' => 'ci4', // 'schema' => 'dbo', // 'DBDriver' => 'SQLSRV', // 'DBPrefix' => '', // 'pConnect' => false, // 'DBDebug' => true, // 'charset' => 'utf8', // 'swapPre' => '', // 'encrypt' => false, // 'failover' => [], // 'port' => 1433, // 'dateFormat' => [ // 'date' => 'Y-m-d', // 'datetime' => 'Y-m-d H:i:s', // 'time' => 'H:i:s', // ], // ]; // /** // * Sample database connection for OCI8. // * // * You may need the following environment variables: // * NLS_LANG = 'AMERICAN_AMERICA.UTF8' // * NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS' // * NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS' // * NLS_TIMESTAMP_TZ_FORMAT = 'YYYY-MM-DD HH24:MI:SS' // * // * @var array // */ // public array $default = [ // 'DSN' => 'localhost:1521/XEPDB1', // 'username' => 'root', // 'password' => 'root', // 'DBDriver' => 'OCI8', // 'DBPrefix' => '', // 'pConnect' => false, // 'DBDebug' => true, // 'charset' => 'AL32UTF8', // 'swapPre' => '', // 'failover' => [], // 'dateFormat' => [ // 'date' => 'Y-m-d', // 'datetime' => 'Y-m-d H:i:s', // 'time' => 'H:i:s', // ], // ]; /** * This database connection is used when running PHPUnit database tests. * * @var array */ public array $tests = [ 'DSN' => '', 'hostname' => '127.0.0.1', 'username' => '', 'password' => '', 'database' => ':memory:', 'DBDriver' => 'SQLite3', 'DBPrefix' => 'db_', // Needed to ensure we're working correctly with prefixes live. DO NOT REMOVE FOR CI DEVS 'pConnect' => false, 'DBDebug' => true, 'charset' => 'utf8', 'DBCollat' => '', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, 'foreignKeys' => true, 'busyTimeout' => 1000, 'synchronous' => null, 'dateFormat' => [ 'date' => 'Y-m-d', 'datetime' => 'Y-m-d H:i:s', 'time' => 'H:i:s', ], ]; }