我有动态产生的辅助连接,这是代码
'userdb' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => DYNAMIC_DATABASE_NAME,
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => false,
],
因此,一旦使用已登录的帐户,我想进行更新以动态更新此数据库并重新连接到此 userdb 。
我使用了以下代码,但这并不能提供持久的数据库连接,我每次都必须手动进行连接。 有什么建议吗?
DB::purge('userdb');
config(['database.connections.userdb.database' => 'test']);
DB::reconnect('userdb');
DB::connection('userdb');
答案 0 :(得分:0)
1。首先设置数据库名称
\Config::set('database.connections.userdb.database','test');
2。设置数据库名称后,您需要清除数据库缓存
\DB::purge('userdb');
在清除数据库缓存后3.set默认连接
\DB::setDefaultConnection('userdb');