File size: 1,437 Bytes
04c65a2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
username TEXT,
first_name TEXT,
token TEXT UNIQUE,
is_active INTEGER DEFAULT 1,
created_at TEXT NOT NULL,
last_seen TEXT,
total_turns INTEGER DEFAULT 0
);
CREATE TABLE IF NOT EXISTS tokens (
token TEXT PRIMARY KEY,
assigned_to INTEGER,
is_active INTEGER DEFAULT 1,
created_at TEXT NOT NULL,
turns_used INTEGER DEFAULT 0,
last_used TEXT
);
CREATE TABLE IF NOT EXISTS conversations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
role TEXT NOT NULL,
content TEXT NOT NULL,
timestamp TEXT NOT NULL,
latency_ms INTEGER,
gpu_time_ms INTEGER
);
CREATE INDEX IF NOT EXISTS idx_conv_user_ts
ON conversations(user_id, timestamp);
CREATE TABLE IF NOT EXISTS admin_audit (
id INTEGER PRIMARY KEY AUTOINCREMENT,
admin_id TEXT,
action TEXT,
target_user_id INTEGER,
timestamp TEXT NOT NULL,
details TEXT
);
CREATE TABLE IF NOT EXISTS gpu_log (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
timestamp TEXT NOT NULL,
duration_ms INTEGER,
status TEXT
);
CREATE TABLE IF NOT EXISTS settings (
key TEXT PRIMARY KEY,
value TEXT NOT NULL
); |