字段隔离方案
- 字段隔离为BladeX 默认必选 的方案
- 若要生效租户插件,则需要在租户业务的表内增加tenant_id字段,并且对应表的实体类继承TenantEntity或者增加tenantId字段
- 有些多租户系统会采用纯数据库隔离的方案,这样也就不需要使用tenant_id字段,但这个成本过于昂贵,可选性相对较低
- 对于BladeX来说,需要考虑的元素很多,比如需要考虑到具体硬件资源、运维难度、后续系统升级难度、同时支持多种隔离方案等情况,所以会以最基础的字段隔离作为 默认方案
字段隔离配置
- 需要数据隔离的业务表,新建一个字段,tenant_id
- 实体类继承TenantEntity或者加入tenantId属性,框架底层会自动对tenant_id进行处理
- 当系统启动的时候,会自动识别包含tenantId的类,并将其加载入多租户插件自动启用
- 若需要自行定制,有了tenantId但不需要多租户插件的自动介入,可以通过配置进行排除,这样就可以自行定义复杂逻辑了,具体配置如下
# 租户表维护
blade:
#多租户配置
tenant:
#多租户对应字段
column: tenant_id
#排除多租户逻辑
exclude-tables:
- tb_news
- tb_goods
......................