- 创建OTA版本管理表结构,支持版本名称、构建号、APK文件等信息存储 - 实现后台OTA版本管理界面,包含新增、编辑、删除和发布功能 - 开发API接口用于设备版本检查和更新包下载 - 实现版本发布逻辑,自动归档旧版本并计算APK文件哈希值 - 添加强制更新、目标设备白名单和最低版本限制功能 - 集成文件上传和选择组件,支持APK文件管理 - 实现版本状态管理(草稿、已发布、已归档)和权限控制
23 lines
1.4 KiB
SQL
23 lines
1.4 KiB
SQL
-- OTA 版本管理表
|
||
-- 用于芬太尼智能药品管理柜的 OTA 远程升级功能
|
||
|
||
CREATE TABLE IF NOT EXISTS `ota_version` (
|
||
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||
`version_name` VARCHAR(20) NOT NULL COMMENT '版本名称,如 1.1.0',
|
||
`version_code` INT(11) UNSIGNED NOT NULL COMMENT '版本号(构建号),用于比较',
|
||
`apk_file` VARCHAR(255) NOT NULL COMMENT 'APK 文件路径(相对于 upload 目录)',
|
||
`file_size` BIGINT(20) UNSIGNED DEFAULT NULL COMMENT '文件大小(字节)',
|
||
`sha256` CHAR(64) DEFAULT NULL COMMENT 'APK 文件 SHA-256 哈希值',
|
||
`update_log` TEXT NOT NULL COMMENT '更新日志',
|
||
`is_force_update` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '是否强制更新:0=否,1=是',
|
||
`status` ENUM('draft','published','archived') NOT NULL DEFAULT 'draft' COMMENT '状态:草稿/已发布/已归档',
|
||
`target_devices` TEXT DEFAULT NULL COMMENT '目标设备 IMEI,逗号分隔;NULL=所有设备',
|
||
`min_version` VARCHAR(20) DEFAULT NULL COMMENT '最低可升级版本,NULL=不限制',
|
||
`creator_id` INT(11) UNSIGNED DEFAULT NULL COMMENT '创建人ID',
|
||
`createtime` INT(10) UNSIGNED DEFAULT NULL COMMENT '创建时间',
|
||
`updatetime` INT(10) UNSIGNED DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `idx_version_code` (`version_code`),
|
||
KEY `idx_status_version` (`status`, `version_code`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OTA 版本管理表';
|