Initial commit: FunConnect project with server, relay, client and admin panel
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
68
client/migrations/sqlite/20240101000001_local_data.sql
Normal file
68
client/migrations/sqlite/20240101000001_local_data.sql
Normal file
@@ -0,0 +1,68 @@
|
||||
-- FunMC 客户端本地数据库
|
||||
-- 用于存储本地缓存和设置
|
||||
|
||||
-- 用户会话信息缓存
|
||||
CREATE TABLE IF NOT EXISTS user_session (
|
||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
||||
user_id TEXT NOT NULL,
|
||||
username TEXT NOT NULL,
|
||||
email TEXT NOT NULL,
|
||||
avatar_seed TEXT NOT NULL,
|
||||
access_token TEXT NOT NULL,
|
||||
refresh_token TEXT NOT NULL,
|
||||
server_url TEXT NOT NULL DEFAULT 'https://funmc.com',
|
||||
created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
|
||||
);
|
||||
|
||||
-- 最近加入的房间缓存
|
||||
CREATE TABLE IF NOT EXISTS recent_rooms (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
room_id TEXT NOT NULL UNIQUE,
|
||||
room_name TEXT NOT NULL,
|
||||
owner_username TEXT NOT NULL,
|
||||
game_version TEXT NOT NULL DEFAULT '1.20',
|
||||
last_joined_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
|
||||
);
|
||||
|
||||
-- 好友缓存(用于离线显示)
|
||||
CREATE TABLE IF NOT EXISTS friends_cache (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id TEXT NOT NULL UNIQUE,
|
||||
username TEXT NOT NULL,
|
||||
avatar_seed TEXT NOT NULL,
|
||||
is_online INTEGER NOT NULL DEFAULT 0,
|
||||
cached_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
|
||||
);
|
||||
|
||||
-- 应用设置
|
||||
CREATE TABLE IF NOT EXISTS app_settings (
|
||||
key TEXT PRIMARY KEY NOT NULL,
|
||||
value TEXT NOT NULL,
|
||||
updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
|
||||
);
|
||||
|
||||
-- 连接历史记录
|
||||
CREATE TABLE IF NOT EXISTS connection_history (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
room_id TEXT NOT NULL,
|
||||
room_name TEXT NOT NULL,
|
||||
session_type TEXT NOT NULL CHECK (session_type IN ('p2p', 'relay')),
|
||||
local_port INTEGER NOT NULL,
|
||||
bytes_sent INTEGER NOT NULL DEFAULT 0,
|
||||
bytes_received INTEGER NOT NULL DEFAULT 0,
|
||||
latency_ms INTEGER,
|
||||
started_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
|
||||
ended_at INTEGER
|
||||
);
|
||||
|
||||
-- 中继节点延迟缓存
|
||||
CREATE TABLE IF NOT EXISTS relay_latency_cache (
|
||||
node_url TEXT PRIMARY KEY NOT NULL,
|
||||
node_name TEXT NOT NULL,
|
||||
latency_ms INTEGER NOT NULL,
|
||||
tested_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
|
||||
);
|
||||
|
||||
-- 索引
|
||||
CREATE INDEX IF NOT EXISTS idx_recent_rooms_last_joined ON recent_rooms(last_joined_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_connection_history_started ON connection_history(started_at DESC);
|
||||
Reference in New Issue
Block a user