接口测试执行结果有入库保存,时间一长,数据就相当的大,而很久之前的数据呢,又没什么用,只需要保留最近一段时间的数据就可以了
所以需要做下定期删除旧记录,因为数据库是 mysql,所以问题就是 mysql 如何做定期清理记录的问题
修改 my.conf
event_scheduler=ON
# 检查是否开启
SHOW VARIABLES LIKE '%event_scheduler%';
CREATE EVENT e_delete_case_result
ON SCHEDULE
EVERY 10 DAY
DO
DELETE FROM tb_api_test_result WHERE case_start_time < unix_timestamp(DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 10 DAY))*1000;
# 如果不需要这个定时任务,可以将它删除或改成disable状态
DROP e_delete_case_result IF EXISTS e_delete_case_result;
有人直接将 sql 语句写到定时任务中,比如本例,也有人首先创建存储过程,然后在定时任务中调用,这两者是否有较大的差别呢?
http://www.w3school.com.cn/sql/sql_dates.asp