一、该问题的重现步骤是什么?
1. 框架从2.5.0升级到2.7.0
2. 我们的前端框架是自己重写的,没有用Saber,但是发现所有查询都不会自动带上租户ID了
3.
二、你期待的结果是什么?实际看到的又是什么?
希望除了特殊设置,所有查询可以自己带上租户ID。自己可以通过什么方式来定位,查询时自动拼接的逻辑是在哪个类?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
目前使用BladeX 2.7.0.RELEASE,部署在CentOS上
四、请提供详细的错误堆栈信息,这很重要。
无任何异常
五、若有更多详细信息,请在下面提供。
看看租户插件配了吗?实在不行改一下sql拦截器
租户插件已经配置,配置如下:
#多租户配置
tenant:
#多租户增强
enhance: true
#多租户授权保护
license: false
#动态数据源功能
dynamic-datasource: false
#动态数据源全局扫描
dynamic-global: false
#多租户字段名
column: tenant_id
#如下租户表的租户ID根据业务实现自己维护
exclude-tables:
- ai_alarm_rule_info
- ai_alarm_rule_ext
- ai_alarm_info
- blade_oss
- ai_public_event_info
- ai_public_event_kpi
- ai_wechat_user
- ai_event_medium
2.5.0也是如此配置但是现在都没办法用了。SQL拦截器是在哪个类?
2.5.0之前的版本是这样配置的,用tables来配置哪些表需要多租户功能
# 租户表维护
blade:
tenant:
column: tenant_id
tables:
- tb_news
- tb_goods
之后的版本用户反馈每个表都要配置操作较繁琐,所以我们改变了逻辑,只要实体类有tenantId字段或者继承了TenantEntity,无需配置,就会自动开启多租户插件。如果有些表不需要多租户,可以单独配置排除
# 租户表维护
blade:
tenant:
column: tenant_id
exclude-tables:
- tb_news
- tb_goods
后续版本与之前版本的逻辑有转变,这一块需要好好排查一下。或者重新看一下操作手册最新版本的saas章节的说明
我现在也确实是这们配置的,我们的类是VO继承Entity类,也都继承了TenantEntity,但是还是不对。
那就要看你们是否更新全了,核心逻辑在blade-starter-tenant这个模块。正好可以借着这个机会理顺租户模块的逻辑。
你可以先下载原版的BladeX然后运行接口跟着走断点来看逻辑
扫一扫访问 Blade技术社区 移动端