Files
csm/migrations/002_assets.sql
iven fd6fb5cca0 feat: 初始化项目基础架构和核心功能
- 添加项目基础结构:Cargo.toml、.gitignore、设备UID和密钥文件
- 实现前端Vue3项目结构:路由、登录页面、设备管理页面
- 添加核心协议定义(crates/protocol):设备状态、资产、USB事件等
- 实现客户端监控模块:系统状态收集、资产收集
- 实现服务端基础API和插件系统
- 添加数据库迁移脚本:设备管理、资产跟踪、告警系统等
- 实现前端设备状态展示和基本交互
- 添加使用时长统计和水印功能插件
2026-04-05 00:57:51 +08:00

43 lines
1.6 KiB
SQL

-- 002_assets.sql: Asset management tables
CREATE TABLE IF NOT EXISTS hardware_assets (
id INTEGER PRIMARY KEY AUTOINCREMENT,
device_uid TEXT NOT NULL REFERENCES devices(device_uid) ON DELETE CASCADE,
cpu_model TEXT,
cpu_cores INTEGER,
memory_total_mb INTEGER,
disk_model TEXT,
disk_total_mb INTEGER,
gpu_model TEXT,
motherboard TEXT,
serial_number TEXT,
reported_at TEXT NOT NULL DEFAULT (datetime('now')),
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
UNIQUE(device_uid)
);
CREATE TABLE IF NOT EXISTS software_assets (
id INTEGER PRIMARY KEY AUTOINCREMENT,
device_uid TEXT NOT NULL REFERENCES devices(device_uid) ON DELETE CASCADE,
name TEXT NOT NULL,
version TEXT,
publisher TEXT,
install_date TEXT,
install_path TEXT,
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
UNIQUE(device_uid, name, version)
);
CREATE TABLE IF NOT EXISTS asset_changes (
id INTEGER PRIMARY KEY AUTOINCREMENT,
device_uid TEXT NOT NULL REFERENCES devices(device_uid) ON DELETE CASCADE,
change_type TEXT NOT NULL CHECK(change_type IN ('hardware', 'software_added', 'software_removed')),
change_detail TEXT NOT NULL,
detected_at TEXT NOT NULL DEFAULT (datetime('now'))
);
-- Indexes
CREATE INDEX IF NOT EXISTS idx_software_device ON software_assets(device_uid);
CREATE INDEX IF NOT EXISTS idx_asset_changes_time ON asset_changes(detected_at);
CREATE INDEX IF NOT EXISTS idx_asset_changes_device ON asset_changes(device_uid);