多租户数据库隔离如何获取部门信息

Blade 未结 1 371
fantw
fantw 剑童 2024-02-19 17:22

一、该问题的重现步骤是什么?

1.  我的Springboot项目采用数据库隔离,公共信息放在master数据库里,例如部门,人员等。一个租户的业务数据放另一个数据库里,我在保存业务数据的时候,要查询部门信息,    但是一直走的是租户的数据库,报错信息是没有blade_dept表,租户的数据库里确实没有,在master数据库里才有blade_dept表。在IDeptService接口上添加@NonDB也没有效果,在yml里exclude-tables里配也没有效果。另外yml里的多租户相关的所有配置我都是true。我应该怎么做才能获取到master数据库里的部门信息?

2. image.png

image.png

image.png

image.png

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

BladeX-Boot

2.9.1.RELEASE

四、请提供详细的错误堆栈信息,这很重要。

image.png

五、若有更多详细信息,请在下面提供。




1条回答
  • @NonDB只在控制器上起作用,你这个要手动切换下数据源,调用这个方法切换:DynamicDataSourceContextHolder.push(tenantId);

    作者追问:2024-02-20 09:25

    image.png

    image.png这样写不生效,应该怎么写?


    0 讨论(0)
提交回复