Files
abot/db/scripts/create_stats_tables.sql
2025-03-18 17:40:59 +08:00

64 lines
3.4 KiB
SQL
Raw 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.
-- 插件统计汇总表
CREATE TABLE IF NOT EXISTS t_plugin_stats (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
plugin_name VARCHAR(50) NOT NULL COMMENT '插件名称',
command VARCHAR(50) NOT NULL COMMENT '触发的命令',
stat_date DATE NOT NULL COMMENT '统计日期',
total_calls INT NOT NULL DEFAULT 0 COMMENT '总调用次数',
success_calls INT NOT NULL DEFAULT 0 COMMENT '成功调用次数',
failed_calls INT NOT NULL DEFAULT 0 COMMENT '失败调用次数',
group_calls INT NOT NULL DEFAULT 0 COMMENT '群聊调用次数',
private_calls INT NOT NULL DEFAULT 0 COMMENT '私聊调用次数',
avg_process_time FLOAT NOT NULL DEFAULT 0 COMMENT '平均处理时间(毫秒)',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
UNIQUE KEY uk_plugin_command_date (plugin_name, command, stat_date),
INDEX idx_stat_date (stat_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='插件统计汇总表';
-- 用户使用统计表
CREATE TABLE IF NOT EXISTS t_user_stats (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id VARCHAR(50) NOT NULL COMMENT '用户ID',
plugin_name VARCHAR(50) NOT NULL COMMENT '插件名称',
command VARCHAR(50) NOT NULL COMMENT '触发的命令',
total_calls INT NOT NULL DEFAULT 0 COMMENT '总调用次数',
success_calls INT NOT NULL DEFAULT 0 COMMENT '成功调用次数',
failed_calls INT NOT NULL DEFAULT 0 COMMENT '失败调用次数',
first_used_at DATETIME NOT NULL COMMENT '首次使用时间',
last_used_at DATETIME NOT NULL COMMENT '最后使用时间',
UNIQUE KEY uk_user_plugin_command (user_id, plugin_name, command),
INDEX idx_user_id (user_id),
INDEX idx_last_used_at (last_used_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户使用统计表';
-- 群组使用统计表
CREATE TABLE IF NOT EXISTS t_group_stats (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
group_id VARCHAR(50) NOT NULL COMMENT '群组ID',
plugin_name VARCHAR(50) NOT NULL COMMENT '插件名称',
command VARCHAR(50) NOT NULL COMMENT '触发的命令',
total_calls INT NOT NULL DEFAULT 0 COMMENT '总调用次数',
success_calls INT NOT NULL DEFAULT 0 COMMENT '成功调用次数',
failed_calls INT NOT NULL DEFAULT 0 COMMENT '失败调用次数',
unique_users INT NOT NULL DEFAULT 0 COMMENT '唯一用户数',
first_used_at DATETIME NOT NULL COMMENT '首次使用时间',
last_used_at DATETIME NOT NULL COMMENT '最后使用时间',
UNIQUE KEY uk_group_plugin_command (group_id, plugin_name, command),
INDEX idx_group_id (group_id),
INDEX idx_last_used_at (last_used_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='群组使用统计表';
-- 错误日志表
CREATE TABLE IF NOT EXISTS t_error_logs (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
plugin_name VARCHAR(50) NOT NULL COMMENT '插件名称',
command VARCHAR(50) NOT NULL COMMENT '触发的命令',
user_id VARCHAR(50) NOT NULL COMMENT '用户ID',
group_id VARCHAR(50) COMMENT '群组ID私聊为NULL',
error_message TEXT NOT NULL COMMENT '错误信息',
stack_trace TEXT COMMENT '堆栈跟踪',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
INDEX idx_plugin_name (plugin_name),
INDEX idx_created_at (created_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='错误日志表';