🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 连接多个数据库 >[success] Redis 也是同样的配置方法,只是 ::class 不同 通常需求中连接两个数据库有以下两种情况: - 第二个库频繁使用 - 第二个库少量使用 ## 第二个库频繁使用 配置一个新的 Bean (Database::class) 调用另一个数据库 >[danger] 使用该功能需先阅读 "核心功能 > 依赖注入" 章节 首先在 .env 增加新的数据库使用的连接信息: ~~~ DATABASE_DSN_2='mysql:host=127.0.0.1;port=3306;charset=utf8;dbname=test' DATABASE_USERNAME_2=root DATABASE_PASSWORD_2= ~~~ 然后在 database.php 增加名称为 `database2` 的依赖配置: - [manifest/beans/database.php](https://github.com/mix-php/mix-skeleton/blob/master/manifest/beans/database.php) - 配置完全复制,然后修改使用上面定义的新环境变量 业务代码中调用: ~~~ /** @var \Mix\Database\Database $db2 */ $db2 = context()->get('database2'); //... ~~~ ## 第二个库少量使用 将上面配置的依赖注入配置中的 `scope` 作用域字段移除,这样每次获取时都是创建新的实例,不是单例模式,连接用完就会销毁。