新增测试痕迹标准清理脚本(账号+会话+访问记录一体); 修复历次冒烟清理遗漏导致的hr01账号残留(密码公开在仓库,已删)
This commit is contained in:
Executable
+18
@@ -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
|
||||
Reference in New Issue
Block a user