From 7dc750ca58a5df94558a71b5597509053571829c Mon Sep 17 00:00:00 2001 From: mzl92 Date: Mon, 31 Aug 2026 15:15:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B5=8B=E8=AF=95=E7=97=95?= =?UTF-8?q?=E8=BF=B9=E6=A0=87=E5=87=86=E6=B8=85=E7=90=86=E8=84=9A=E6=9C=AC?= =?UTF-8?q?(=E8=B4=A6=E5=8F=B7+=E4=BC=9A=E8=AF=9D+=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E4=B8=80=E4=BD=93);=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=8E=86=E6=AC=A1=E5=86=92=E7=83=9F=E6=B8=85=E7=90=86=E9=81=97?= =?UTF-8?q?=E6=BC=8F=E5=AF=BC=E8=87=B4=E7=9A=84hr01=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E6=AE=8B=E7=95=99(=E5=AF=86=E7=A0=81=E5=85=AC=E5=BC=80?= =?UTF-8?q?=E5=9C=A8=E4=BB=93=E5=BA=93,=E5=B7=B2=E5=88=A0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/clean-test-traces.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 scripts/clean-test-traces.sh diff --git a/scripts/clean-test-traces.sh b/scripts/clean-test-traces.sh new file mode 100755 index 0000000..c6af2e4 --- /dev/null +++ b/scripts/clean-test-traces.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# clean-test-traces.sh — 清理冒烟/测试账号在后台留下的全部痕迹(账号+会话+访问记录) +# 在服务器上执行: ssh xyh@192.168.100.133 'bash -s' < scripts/clean-test-traces.sh +# 每轮冒烟(SMOKE_USER模式)或手动验证后必须跑一次 +set -e +sudo docker exec -i zhaopin-admin node - <<'EOF' +const D = require("better-sqlite3"); +const db = new D("/data/admin/users.db"); +const marks = ["smoketest", "testsuper", "hr01", "t", "hr_debug", "dbg", "dbg_user", "时区测试"]; +const ph = marks.map(() => "?").join(","); +const u = db.prepare(`SELECT COUNT(*) c FROM users WHERE username IN (${ph})`).get(...marks).c; +const a = db.prepare(`SELECT COUNT(*) c FROM access_log WHERE username IN (${ph})`).get(...marks).c; +db.prepare(`DELETE FROM sessions WHERE uid IN (SELECT id FROM users WHERE username IN (${ph}))`).run(...marks); +db.prepare(`DELETE FROM users WHERE username IN (${ph})`).run(...marks); +db.prepare(`DELETE FROM access_log WHERE username IN (${ph})`).run(...marks); +console.log(`已清理: 账号${u}个, 访问记录${a}条`); +console.log("现存账号:", JSON.stringify(db.prepare("SELECT username,role FROM users").all())); +EOF