引言:公司项目用saas版本管理多租户提供统一服务,以减少服务部署成本,但与之而来的是数据压力问题,脚本执行问题,备份数据问题。本篇主要是记录脚本执行的一些小方法。
目录
1、saas脚本批量生成及io工具类
先提供一份生成saas脚本的io工具类,执行效果如下
所有租户脚本举例
sql脚本样例
生成的脚本样例
上工具类源码
注意:
1、执行脚本时最好先拿个公司先执行一遍脚本,没问题再全量执行
2、需要生成的脚本中有DDL相关语句需要格外注意
2、遇到需要批量执行数据更新或者删除
遇到需要批量执行更新删除脚本时,通常需要先select确认需要执行的库,和影响的数据规模大小,以下给出DML之前select saas环境多库返回的解决方案
多库中执行检查语句,收集数据返回信息
-- 自定义变量 只再脚本开始执行一遍
SET @tableRechargeCompanyTotalCount='';
-- 中间代码可批量生成
SET @tableRechargeCompanyCount='';
select
CONCAT(ar.company_code,'-',count(\*)) into @tableRechargeCompanyCount
from account_record ar
where ar.code='1010' and ar.type='2'
group by ar.company_code;
SET @tableRechargeCompanyTotalCount=CONCAT(@tableRechargeCompanyTotalCount,@tableRechargeCompanyCount);
SET @tableRechargeCompanyTotalCount=CONCAT(@tableRechargeCompanyTotalCount,if(@tableRechargeCompanyCount='','',' '));
-- 自定义变量 只再脚本结束执行一遍
select @tableRechargeCompanyTotalCount;
执行过select查询后,再批量生产DML语句
结语:
saas环境备份会有很大的工作量,但备份还是得进行,不然批量DML还是会存在很大的安全隐患,这个需要再寻找解决方案