-- 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 版本管理表';