chore: add server and server_snapshots tables to database schema
Docker images / backend-image (push) Successful in 1m32s
Docker images / frontend-image (push) Successful in 41s
Docker images / updater-image (push) Successful in 36s
Docker images / notify-webhook (push) Has been skipped

- Introduced new tables for managing server configurations and snapshots, enhancing data organization and retrieval.
- The servers table includes fields for server details, while the server_snapshots table captures performance metrics and status updates.
This commit is contained in:
Denozordec
2026-05-12 15:17:28 +07:00
parent 63252ae85e
commit 4b240d70d0
+39
View File
@@ -11,6 +11,45 @@ const sqlite = new Database(env.DATABASE_PATH)
sqlite.pragma("journal_mode = WAL") sqlite.pragma("journal_mode = WAL")
sqlite.pragma("foreign_keys = ON") sqlite.pragma("foreign_keys = ON")
sqlite.exec(` sqlite.exec(`
CREATE TABLE IF NOT EXISTS servers (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL DEFAULT '',
host TEXT NOT NULL,
port INTEGER NOT NULL DEFAULT 443,
username TEXT NOT NULL DEFAULT 'admin',
password TEXT NOT NULL DEFAULT '',
use_ssl INTEGER NOT NULL DEFAULT 1,
verify_ssl INTEGER NOT NULL DEFAULT 0,
type TEXT NOT NULL DEFAULT 'home-router',
site TEXT NOT NULL DEFAULT '',
country TEXT NOT NULL DEFAULT '',
asn TEXT NOT NULL DEFAULT '',
comment TEXT NOT NULL DEFAULT '',
enabled INTEGER NOT NULL DEFAULT 1,
lan_subnet TEXT NOT NULL DEFAULT '',
wan_uplinks TEXT NOT NULL DEFAULT '[]',
created_at TEXT NOT NULL DEFAULT (datetime('now')),
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
);
CREATE TABLE IF NOT EXISTS server_snapshots (
id INTEGER PRIMARY KEY AUTOINCREMENT,
server_id INTEGER NOT NULL,
polled_at TEXT NOT NULL,
status TEXT NOT NULL,
latency_ms REAL,
ros_version TEXT,
board_name TEXT,
uptime TEXT,
cpu_load INTEGER,
free_memory INTEGER,
total_memory INTEGER,
identity_name TEXT,
raw_interfaces TEXT,
raw_ip_addresses TEXT,
FOREIGN KEY (server_id) REFERENCES servers(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS filter_rules ( CREATE TABLE IF NOT EXISTS filter_rules (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
server_id INTEGER NOT NULL, server_id INTEGER NOT NULL,