关于使用APIJSON在MYSQL 8.0中的多个schema中进行CURD的问题咨询

hec6srdp  于 3个月前  发布在  Mysql
关注(0)|答案(2)|浏览(66)

Description

场景:在SASS CMS管理系统中,每一个注册的用户都可以创建一个项目,在创建项目的同时会创建一个根据项目ID命名的schema,例如p987960_db;用户在项目中可以创建内容模型(也就相当于在可视化mysql工具中创建表),之后就会在后台转化成sql,在对应的schema中生成一张表;

现象:由于表的数量会随着用户创建的内容模型增多,对后期的表管理有很大的难度;所以打算根据不同的用户创建的项目,创建不同的schema来管理表(层级关系:用户>项目>内容模型);并将APIJSON自带的表,例如request,function放到公共的schema中;

问题:那么该如何根据用户当前使用的项目,在用户操作数据表的数据CURD的时候,使用正确的Schema呢?
@TommyLemon

hiz5n14c

hiz5n14c1#

DemoSQLConfig 重写 getConfigSchema,用于返回 APIJSON 配置表所在 schema。
然后重写 getSchema 或 getSQLSchema,根据项目 id 返回对应的 schema。
也就是说,重写getConfigSchema返回配置表所在的schema,用来获取APIJSON在使用时所需要的配置信息;重写getSchema或者是getSQLSchema返回的schema是用来在APIJSON解析前端传的json生成sql语句的时候,自动添加到表名的前面,例如select * from p00000_schema.tb_home

kxkpmulp

kxkpmulp2#

ok,谢谢 @TommyLemon

相关问题