Files
par/docs/migration_v2.sql
2026-07-05 21:36:30 +08:00

46 lines
2.4 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 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}}
]');