首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用动态数据库连接和中间层端口

问如何使用动态数据库连接和中间层端口
EN

Stack Overflow用户
提问于 2020-05-07 05:38:23
回答 1查看 207关注 0票数 0

我从env文件和database.php文件中删除了数据库连接信息。并且我根据来自客户端的每个请求动态地设置数据库。我在主中间件中完成此操作。

代码语言:javascript
复制
$origin = $request->header('Origin');
\Config::set(['database.default' => 'mysql']);
\Config::set(['database.connections.mysql.host' => '127.0.0.1']);
\Config::set(['database.connections.mysql.database' => $origin]);
\Config::set(['database.connections.mysql.username' => 'root']);
\Config::set(['database.connections.mysql.port' => '3306']);

我在登录时没有问题,令牌已创建。但在其他操作中,我得到了一个401错误。事实上,passport从env文件或database.php调用数据库的连接信息。但是我们希望通过中间件来实现,或者我们可以在检查auth: api之前为它设置数据库信息。

EN

回答 1

Stack Overflow用户

发布于 2021-01-28 14:16:48

默认情况下,Passport access default DB。如果您想要使用动态数据库,请在您的应用程序/Providers/AppServiceProvider.php的引导方法中添加以下代码:

代码语言:javascript
复制
public function boot()
{

    Config::set('database.connections.pgsql.database', 'newdatabase');

    DB::purge('pgsql');
    DB::reconnect('pgsql');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61645875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档