00:00
今天我们开始讲数据生成的这一个功能,它的一个场景的话呢,主要是针对于咱们在开发测试环境的一些数据的一些构造,那比较典型的场景的话,是咱们去做一些,嗯,开发测试,包括说我们的性能测试的时候,他会需要到的一些数据的一些准备工作,那在开始准备工作之前的话呢,我们简单介绍一下,就是我们的一个仿真模板,那目前的话,产品里面的话呢,是有内置好了有几十条的这种数据生成的一个规则,然后在这里面的话呢,会有不同的一些数据特征的对应生成的一些算法,然后在这个基础之上的话呢,我们其实会去做一些表结构的一个自动的识别,和对应生成算法的一个匹配的关联。那如果说咱们对于这个生成算法的生成的这个时间范围是需要做调整的,那就我们可以去按时的去进行一个调整,模板这边的话呢,目前是系统管理员可以去编辑和创建,如果咱们使用的业务比较多,并且每个业务可能有一些模板需要沉淀下来,那我们可以去创建多个模板,分别给到不同的业务去进行一个使用。那具体在使用的时候的话呢,其实我们在建一个任务的时候,在这里如果有多个不同的模板,我们就可以按需去选择业务所对应的这个最新的一个模板去进行一个使用,那在这里面的话呢,就是我们可以按需的去添加各种表对象参与到我们这个生成,那在这里面单次生成的数据的记录行数,我们是可以按序的去调整的,这个调整的阈值的话呢。
01:32
跟咱们的这个授课开发规范是会直接联动的,我们可以限制一个表,它只能是一次生成1000条,还是说1万条,还是说100万条,那这个的话,咱们就按序的去进行一个调整,那表的这边选择完之后的这些字段的话呢,其实根据我们的算法的逻辑,会自动的去进行一个识别,然后识别之后的话,会关联到它对应的一个反正算法,那像这里面的话呢,比如说啊,像我们这些数字的话,可能我们的取值范围啊,包括说我们的这些像邮箱的一些取值范围,我们需要去指定在某个范围内的话,我们都是可以按需的去进行一个调整的,在模板的基础之上,我们可以去进行一个调整,用于本次独立的一个生成的一个使用,那在这里面的话呢,就是我们生成的策略也是可选的,它这里对应到的就是。
02:20
啊,My circlel里面的insert语法,以及insert一个law,以及replace into这三种不同的一个写入的一个方式,所以这个的话呢,就是具体看咱们的测试数据的一个环境啊,如果说去明确会有冲突数据,并且我是能够接受冲突数据的,那我可能就直接选跳过,或者说我选覆盖啊,如果说不能够去对历史的这种冲突数据进行处理的,那我可能就是遇到冲突就终止,所以这个时候的话,可能就比如说我们生成的序列,那我可能这个起始范围我就不是固定从一开始了,往往我的取值范围可能是在1万,甚至其他的一个阈值,跟当前的数据是确定是能够避开的,那所以这种情况下的话,就咱们可以联动的这一个算法的一个方式去按序的一些选择,那执行人这个的话呢,也是读的咱们社后开发规范里面的一个执行人配置。
03:09
这个之前有讲到过社会开发规范,这就不去扩展了,那咱们创建任务之后呢,他也是会去进行预审当前这个使用者啊,这个任务的创建人是不是有对应的这一块的一个权限,如果有的话呢,他就可以进入到提交审批这么一个环节,那像这里的话,我没有去配置差异化的审批流程,所以他其实进入到的是一个默认审批的一个流程,然后这里面的话,为了演示方便呢,我这边是啊,自己的测试账号,DV的一个普通账号呢,是加入到了审批流程里面啊,它是可以直接去参与到对应的一个审批的啊,所以在这里面的话呢,我们直接给他审批通过之后,我们其实就可以看到它是一个自动执行的一个状态,那这个执行人的话,那他就会在审批通过之后,他就自动去开始执行了。那执行之后的话呢,其实我们可以看到在这里面我们会有对应目标的生成的记录数,以及当前已经生成的,包括已经写入的这些数据啊,是否存在冲突啊,那这些的数据的话呢,它是一个写入的一个呈现,那同时在这里面呢,我们也会提供就是本次生成数据的全量的映射的脚本,以及对应的啊,根据组件的一个delete的一个回滚清理的一个脚本,所以这块的话呢,就是根据不同的一些场景,我们也可以按需的去使用到这样的一个内容,那刚刚在建表的这一块,就是我们在选择这张表去配算法的时候呢,有一个点没有给大家去演示的,是说在这里面其实我们是会有一个。
04:35
啊,外建的一个约束,那其实外键约束的这种算法的话呢,就是我当前的这张表的这个字段,我是来源于外部的某个字段的某个ID的一个值,那类似这样子的话,就是咱们可以按需的去配置,比如说我就来源于这个ID,然后我的生成方式是随机的,还是不重复的啊,然后我们的重复的次数啊,这些我们都可以按时去调整,那这样子的一个好处是说,我在表与表之间的这种关联关系,它是可以维持的,那不只是一个普通的一个,就是纯粹的单表的一个数据生成,因为单表的业务测试场景还是比较少,更多的我们可能是很多的业务去做的一些关联的一些查询和测试,那所以在这里面的话呢,我们其实是啊,也支持说按需的去配置这种外建的一个算法,然后进行一个关联数据的一个生成啊,这个的话是我们目前的数据生成的这个功能啊,支持的是我们的Oracle和马SLE的一个系列的一个类型,那后续的话呢,我们其他的一些啊类型。
05:36
也会对应的去做扩展和支持。这个是我们当前已经支持的这些数据库类型。
我来说两句