【小技巧】如何使上线前初始化数据的SQL脚本可测试?

背景

有时候,我们在上线某些特性时,可能需要提前初始化数据,才能使功能正常运作。
初始化数据,常用的有以下两种途径:

  1. 单纯为了这个初始化数据,开发一个Excel文件导入功能
  2. 开发人员维护SQL语句初始化数据

这两种途径都有优缺点:
第1种途径,使用方便,可重复导入不同的数据,但是开发成本高
第2种途径,开发人员维护SQL语句,成本低,但只能针对一批次的数据,第二次面对不同的数据无法复用,且SQL语句不经过测试人员验证,容易发生问题;

最近,我们在遇到这个问题时,有位小伙伴提出:我们可以用Excel制作SQL脚本啊。

用Excel制作SQL脚本

假设,我们需要初始化“员工所拥有的角色”的数据,这数据主要有两列,分别是“员工号”和“角色编码”。

那么,我们可以制作下图这样的Excel表格:
在这里插入图片描述
“员工号”、“角色”两列为业务数据,分别表示“员工号”和“角色编码”;
“SUB_SQL_1”、“SUB_SQL_2”、“SUB_SQL_3”分别是用于拼接的子SQL;
“SQL”是结果列,它用CONCAT函数拼接前面几列的值形成最终的SQL
比如,第2行的CONCAT函数表达式为:=CONCAT(C2,E2,A2,E2,D2,E2,B2,E2,F2)

提测的时候,我们将制作好的Excel文件提测,测试人员验证是否能通过此文件生成符合预期的数据。

生产环境初始化数据时,我们使用这个经过测试的Excel文件初始化数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值