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