46 lines
2.4 KiB
SQL
46 lines
2.4 KiB
SQL
-- PAR v2 新增表 + 字段
|
||
-- 站点标签
|
||
ALTER TABLE sites ADD COLUMN tags JSON NULL COMMENT '标签列表' AFTER description;
|
||
|
||
-- 站点页面配置(mediabot 页面入口)
|
||
CREATE TABLE IF NOT EXISTS site_pages (
|
||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||
site_id VARCHAR(64) NOT NULL,
|
||
version VARCHAR(20) NOT NULL DEFAULT '1.0.0',
|
||
entries_json LONGTEXT NOT NULL,
|
||
deleted TINYINT NOT NULL DEFAULT 0,
|
||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
INDEX idx_site_id (site_id, deleted)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||
|
||
-- 风险保号规则(按站点类型组织)
|
||
CREATE TABLE IF NOT EXISTS risk_rules (
|
||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||
site_type VARCHAR(32) NOT NULL,
|
||
version INT NOT NULL DEFAULT 1,
|
||
rules_json LONGTEXT NOT NULL,
|
||
deleted TINYINT NOT NULL DEFAULT 0,
|
||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
INDEX idx_site_type (site_type, deleted)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||
|
||
-- 示例数据:NexusPHP 页面入口
|
||
INSERT INTO site_pages (site_id, version, entries_json) VALUES
|
||
('default-nexusphp', '1.0.0', '[
|
||
{"key":"home", "label":"首页", "url":"{base}", "method":"GET"},
|
||
{"key":"search", "label":"搜索页", "url":"{base}/torrents.php", "method":"GET"},
|
||
{"key":"detail", "label":"种子详情", "url":"{base}/details.php?id=", "method":"GET"},
|
||
{"key":"signIn", "label":"签到页", "url":"{base}/attendance.php", "method":"POST"},
|
||
{"key":"user", "label":"用户详情", "url":"{base}/userdetails.php?id=","method":"GET"}
|
||
]');
|
||
|
||
-- 示例数据:NexusPHP 风险规则
|
||
INSERT INTO risk_rules (site_type, version, rules_json) VALUES
|
||
('nexusphp', 1, '[
|
||
{"type":"KILL","name":"登录间隔超过30天","metric":"daysSinceLastLogin","threshold":30,"unit":"DAY","condition":"GT","level":"CRITICAL"},
|
||
{"type":"RATIO","name":"分享率低于0.3","metric":"shareRatio","threshold":0.3,"condition":"LT","level":"CRITICAL","applicable":{"daysSinceRegistration":30}},
|
||
{"type":"TRAFFIC","name":"超过5天无流量","metric":"daysSinceLastTraffic","threshold":5,"unit":"DAY","condition":"GT","level":"WARN","applicable":{"daysSinceRegistration":30}}
|
||
]');
|