一、该问题的重现步骤是什么?
1. 首先去租户中心绑定数据库,然后在修改为另外一个数据库,发现并没有清除掉cache,导致一直都读取第一个数据库
2. 解决方法(应该在绑定的时候清楚cache,然后DynamicDataSourceContextHolder 也应该删除相应的map)
3.
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
这不是bug,系统就是这么设计的。
租户数据库一旦设定好,在生产环境怎么可能突然切数据库?那这样系统会出严重问题。
所以配置好数据库后,一旦访问就会缓存下来,就算在线误操作重新配置了数据库也是不会生效的,这样就可以保证系统的稳定性。后续如果真的要切数据库,也是需要做数据迁移的,等数据迁移结束,重启服务后缓存自然就更新了。
至于想自己随时修改切换数据库而不顾之前产生的生产数据,可以自己修改,反正也很简单,但因此产生的风险就大了,自己考虑好。
扫一扫访问 Blade技术社区 移动端