多租户数据库隔离,如果获取字典信息

Blade 未结 2 273
小光头
小光头 2025-04-30 11:19

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

1. 开启动态数据库隔离功能后,指定租户在相关业务接口,要查询字典信息,但是一直走的是租户的数据库,报错信息是没有blade_dict_biz表,租户的数据库里确实没有,在master数据库里才有;@NonDS在controller层添加才有效,我这里是直接调用了service接口。在yml里exclude-tables里配也没有效果。另外yml里的多租户相关的所有配置我都是true。我应该怎么做才能获取到master数据库里的业务字典信息?

image.png


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

        如一所述


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

            BladeX-Boot, 4.5.0.RELEASE

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

image.png

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


2条回答
  •  axian
    axian (楼主)
    2025-04-30 17:53

    按照您的解决方案,刚刚再次尝试发现还是将mysql调用到了分库中,没有调用到主库,因为我们整个项目没有完全分库,主库也保留了一部分的核心数据,只对部分库进行分库操作。我们api调用的起点是分库的表,进行了@TenantDS的注解,但是在调用中对业务字典的调用这个表就没有分库,还是在主库中存储。请问要怎么解决呀?

    image.pngimage.png

代码语言
提交回复