项目中,添加新租户需要复制模板基础表,如template_asset表,新建租户时就生成一个 t_租户id_asset的表。
开始使用了 create Table `t_${tenantId}_asset` as SELECT * from `template_asset`;
发现这种方式不能复制主键及索引等,因此放弃。
经查询,可以使用 create Table `t_${tenantId}_asset` like `template_asset`;
但运行在mybatis plus 的工程中会出现如下错误:
可以看到,Like无法识别,经查询,因为工程配置了多租户,
框架中,有用到多租户的功能,Mybatis-plus 会 进行数据权限的过滤。。
要对该条sql,进行租户放行。
参考Mybatis-plus官网,在Mapper的SQL上 加入注解 ,忽略租户过滤
@InterceptorIgnore(tenantLine = "true")
运行成功。
官网参考: