yii2在程序运行的过程切换数据库
一个普通yii程序通常在config配置好数据库连接,然后在model配置activeRecord表,最后在程序中调用各种activeRecord来增删改查。
本人有个项目在使用这套方法,刚好有个需求,就是某部分设计增删改的程序要同时影响两个数据库。后来通过查资料和尝试,发现了一种方法,现记录如下:
1 //执行代码部分 2 $class->fun(); 3 //修改连接 4 Yii::$app->db_test->close(); 5 Yii::$app->db_test->dsn = "XXX"; 6 Yii::$app->db_test->username = "XXX"; 7 Yii::$app->db_test->password = "XXX"; 8 Yii::$app->db_test->open(); 9 //再重新执行方法 10 $class->fun();
在于把连接中断,更改配置后再重新连接。