Skip to content

如何清除多余的表记录?常用运维脚本如下 #82

@TommyLemon

Description

@TommyLemon

删除无效的测试配置和记录等,请慎重使用,先备份、查出来确认后再执行

mysqldump -u root -p sys > sys_20260322.sql
SET autocommit = 0;

# 测试记录和断言标准
# DELETE 
SELECT * 
FROM sys.TestRecord WHERE id>0 AND (
  (randomId>0 AND randomId NOT IN(
    SELECT id FROM sys.Random UNION SELECT id FROM sys.Input
  )) 
  OR 
  (documentId>0 AND documentId NOT IN(
    SELECT id FROM sys.Document UNION SELECT id FROM sys.Flow
  ))
);

# UIGO/UIGOX/UIGOD/AutoUI 事件
# DELETE 
SELECT * 
FROM sys.Input WHERE id>0 AND (  
  flowId NOT IN(
    SELECT id FROM sys.Flow
  )
);

# APIAuto/UnitAuto/SQLAuto 参数注入配置
# DELETE 
SELECT * 
FROM sys.Random WHERE id>0 AND (  
  (toId > 0 AND toId NOT IN(
    SELECT id FROM sys.Random
  ))
  OR 
  (chainId > 0 AND chainId NOT IN(
    SELECT id FROM sys.Chain
  ))
  OR 
  (documentId > 0 AND documentId NOT IN(
    SELECT id FROM sys.Document
  ))
);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions