Lumen框架多数据库连接配置方法
【摘要】
Lumen作为一款API导向很浓的框架,配置极简化,默认只支持一路DB配置
然而随着业务复杂度的提高,引入多个数据库连接似乎无法避免,下面介绍一下LUMEN连接多个数据库的配置方法:
修改.env文件,增加新DB配置,如下:
//DB1 配置 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT...
Lumen作为一款API导向很浓的框架,配置极简化,默认只支持一路DB配置
然而随着业务复杂度的提高,引入多个数据库连接似乎无法避免,下面介绍一下LUMEN连接多个数据库的配置方法:
- 修改.env文件,增加新DB配置,如下:
-
//DB1 配置
-
-
DB_CONNECTION=mysql
-
-
DB_HOST=127.0.0.1
-
-
DB_PORT=3306
-
-
DB_DATABASE=dbname
-
-
DB_USERNAME=dbname
-
-
DB_PASSWORD=password
-
-
DB_TIMEOUT=4
-
-
//DB2配置
-
-
DB_TEST_CONNECTION=mysql
-
-
DB_TEST_HOST=127.0.0.1
-
-
DB_TEST_PORT=3307
-
-
DB_TEST_DATABASE=dbname2
-
-
DB_TEST_USERNAME=dbname2
-
-
DB_TEST_PASSWORD=password
-
-
DB_TEST_TIMEOUT=4
- 因为LUMEN在加载DB配置时,还是会默认去laravel模块下寻找相关配置文件,这时修改laravel模块下的database.php文件
文件位置在:
./vendor/laravel/lumen-framework/config/database.php
添加.env文件中新增的DB配置,如下:
-
//默认配置
-
'mysql' => [
-
'driver' => 'mysql',
-
'host' => env('DB_HOST', 'localhost'),
-
'port' => env('DB_PORT', 3306),
-
'database' => env('DB_DATABASE', 'forge'),
-
'username' => env('DB_USERNAME', 'forge'),
-
'password' => env('DB_PASSWORD', ''),
-
'charset' => env('DB_CHARSET', 'utf8'),
-
'collation' => env('DB_COLLATION', 'utf8_unicode_ci'),
-
'prefix' => env('DB_PREFIX', ''),
-
'timezone' => env('DB_TIMEZONE', '+00:00'),
-
'strict' => env('DB_STRICT_MODE', false),
-
],
-
-
//新增配置
-
'mysql_test'=>[
-
'driver' => 'mysql',
-
'host' => env('DB_TEST_HOST', 'localhost'),
-
'port' => env('DB_TEST_PORT', 3306),
-
'database' => env('DB_TEST_DATABASE', 'forge'),
-
'username' => env('DB_TEST_USERNAME', 'forge'),
-
'password' => env('DB_TEST_PASSWORD', ''),
-
'charset' => env('DB_CHARSET', 'utf8'),
-
'collation' => env('DB_COLLATION', 'utf8_unicode_ci'),
-
'prefix' => env('DB_PREFIX', ''),
-
'timezone' => env('DB_TIMEZONE', '+00:00'),
-
'strict' => env('DB_STRICT_MODE', false),
-
],
-
- 在项目中调用时,直接按database.php中的做法初始化connection就行,如下:
$query = app('db')->connection("mysql_test")->select("...");
文章来源: lansonli.blog.csdn.net,作者:Lansonli,版权归原作者所有,如需转载,请联系作者。
原文链接:lansonli.blog.csdn.net/article/details/103900303
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)