DB::getConfig() 如何实现数据隔离?
1. 运行环境
1). 当前使用的 Laravel 版本?
9.x
4). 业务环境
测试。理解原理,用到这个的场景是多个数据库合并,执行 migrate --database
命令不会造成数据污染
2. 问题描述?
这行代码 DB::getConfig()
是如何获取不同的数据库配置的,原理是什么
什么原因让其代码隔离,不会交叉修改数据
正常来说 DB::getConfig() 没有指定数据库,不是应该获取 database.default
的值吗?
翻了源码,有这么一个属性,他是有单独设置数据库链接的,用的是这个对象的链接Illuminate\Database\Console\Migrations\MigrateCommand::migrator
命令行加了参数就重新设置了,获取到的就是设置的值了