refactor(flyway): 修改flyway更新数据的方式

This commit is contained in:
CaptainB 2021-11-24 13:11:15 +08:00 committed by 刘瑞斌
parent 7a4b326f05
commit 1b6bbaf236
1 changed files with 32 additions and 6 deletions

View File

@ -33,13 +33,39 @@ alter table api_scenario
alter table api_scenario
add environment_group_id varchar(50) null;
update api_scenario
set environment_json = api_scenario.scenario_definition -> '$.environmentMap'
where api_scenario.environment_json is null;
DELIMITER $$
DROP PROCEDURE IF EXISTS proc_loop_test$$
CREATE PROCEDURE proc_loop_test()
BEGIN
DECLARE int_val INT DEFAULT 0;
DECLARE size INT DEFAULT 10;
DECLARE count_scenario INT DEFAULT 0;
SELECT COUNT(1) INTO count_scenario FROM api_scenario;
test_loop :
LOOP
IF (int_val > count_scenario / size)
THEN
UPDATE api_scenario
SET environment_json = api_scenario.scenario_definition -> '$.environmentMap'
WHERE api_scenario.id IN (SELECT id FROM (SELECT id FROM api_scenario LIMIT int_val, size) l);
#
LEAVE test_loop;
END IF;
update api_scenario
set environment_type = 'JSON'
where environment_type is null;
UPDATE api_scenario
SET environment_json = api_scenario.scenario_definition -> '$.environmentMap'
WHERE api_scenario.id IN (SELECT id FROM (SELECT id FROM api_scenario LIMIT int_val, size) l);
SET int_val = int_val + size;
END LOOP;
END$$
DELIMITER ;
CALL proc_loop_test();
DROP PROCEDURE proc_loop_test;
update api_scenario set environment_type = 'JSON';
alter table test_plan_api_scenario
add environment_type varchar(20) null comment '场景使用的环境类型';