gpt4 book ai didi

php - Laravel 动态创建多个数据库的方法

转载 作者:行者123 更新时间:2023-11-29 15:24:32 25 4
gpt4 key购买 nike

我正在创建 Laravel 6.6 项目,我的查询是如何在 laravel 中创建新的多个数据库,然后如何处理它,

如果我从最近创建的新数据库中获取数据,那么如何在 .env 文件中动态注册新数据库?

最佳答案

我按照以下方式执行此操作。

我的 config/database.php 中确实有一个用于客户端连接的虚拟条目,如下所示:

        'clientDb' => [
'driver' => 'mysql',
'host' => env('DB_CLIENT_HOST', '127.0.0.1'),
'port' => env('DB_CLIENT_PORT', '3306'),
'database' => env('DB_CLIENT_DATABASE', 'some_default_client_name'),
'username' => env('DB_CLIENT_USERNAME', 'root'),
'password' => env('DB_CLIENT_PASSWORD', ''),
'unix_socket' => env('DB_CLIENT_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
'dump' => [],
],

因此,我所有与客户端相关的模型都与 $connection = 'clientDb'; 一起使用,其他模型则使用默认连接。

当更改客户端时(所以我需要切换连接),我只需通过调用设置新连接:

Config::set('database.connections.clientDb', [
'database' => NEW_DATABASE_NAME,
// all the other params from config
]);

之后,我想办法调用 DB::reconnect('clientDb'); 来让连接真正运行。

我希望这会引导您走向正确的方向😉

关于php - Laravel 动态创建多个数据库的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59154467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com