Files
XuJiacheng fc134b0108 feat: 将批量升级改为逐个主机顺序升级并添加超时控制
- 修改升级流程,从同时触发所有主机改为逐个主机顺序触发和轮询
- 添加 session_id 字段到 upgrade_log 表以区分不同主机的升级会话
- 引入 upgradePollTimeoutSeconds 配置项控制单个主机轮询超时时间
- 添加数据库迁移脚本以更新表结构和主键约束
- 实现运行组状态跟踪,防止同一组并发执行
- 改进错误处理和日志记录,为每个主机独立记录升级结果
2026-01-23 18:22:05 +08:00

27 lines
759 B
SQL

-- Create database (run manually or via script if user has permissions)
-- CREATE DATABASE test_upgrade;
-- Connect to test_upgrade before running the following:
CREATE TABLE IF NOT EXISTS upgrade_log (
uuid UUID NOT NULL,
session_id UUID,
start_time TIMESTAMP NOT NULL,
roomtype_id INTEGER NOT NULL,
host_str TEXT NOT NULL,
filename TEXT NOT NULL,
status TEXT,
end_time TIMESTAMP,
file_type TEXT,
config_version TEXT,
firmware_version TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS upgrade_state (
state_key TEXT PRIMARY KEY,
current_roomtype_index INTEGER DEFAULT 0,
execution_count INTEGER DEFAULT 0,
last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);