I have one mysql database connection in config/database.php
as below and it is working fine.
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
I am trying to define another alternate connection (for testing purposes) as below. (Same host but different database):
'mysql_testing' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE_TEST', 'forge'),
'username' => env('DB_USERNAME_TEST', 'forge'),
'password' => env('DB_PASSWORD_TEST', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
where DB_DATABASE_TEST
, DB_USERNAME_TEST
and DB_PASSWORD_TEST
are defined in .env
as below:
DB_DATABASE_TEST=db_other
DB_USERNAME_TEST=usr_other
DB_PASSWORD_TEST=secret
However, this second connection does not work.
In tinker, if I try to use the new connection:
DB::connection('mysql_testing')->getPdo()
InvalidArgumentException with message 'Database [mysql_testing] not configured.'
And if I try to check the config values, mysql
works but the new connection mysql_testing
returns null:
Config::get('database.connections.mysql')
[
"driver" => "mysql",
"host" => "127.0.0.1",
"port" => "3306",
"database" => "***",
"username" => "***",
"password" => "***",
"charset" => "utf8",
"collation" => "utf8_unicode_ci",
"prefix" => "",
"strict" => false,
"engine" => null,
]
Config::get('database.connections.mysql_testing')
null
Any idea how may I debug this issue?
via hashbrown