-- 软件升级产品（客户端拉取版本与下载地址）
-- 安装包建议上传到文件管理，分类使用「appsupgrade」（或任意分类，记录 file_id 即可）

CREATE TABLE IF NOT EXISTS `yz_system_software_upgrade` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(128) NOT NULL COMMENT '软件显示名称',
  `code` varchar(64) NOT NULL COMMENT '客户端唯一标识，与 check 接口 code 一致',
  `latest_version` varchar(32) NOT NULL DEFAULT '0.0.0' COMMENT '当前发布的最新版本号',
  `file_id` bigint unsigned DEFAULT NULL COMMENT '关联 yz_system_files.id，安装包',
  `download_url` varchar(512) DEFAULT NULL COMMENT '兼容旧客户端的单安装包地址；为空则用 file_id 对应 src 拼公开 URL',
  `download_urls` text DEFAULT NULL COMMENT '多运行环境安装包地址 JSON，如 {"windows":"...","mac":"...","ubuntu":"...","linux":"..."}',
  `force_update` tinyint NOT NULL DEFAULT 0 COMMENT '1 建议强制更新',
  `release_notes` varchar(2000) DEFAULT NULL COMMENT '更新说明',
  `status` tinyint NOT NULL DEFAULT 1 COMMENT '1 启用 0 停用',
  `sort` int NOT NULL DEFAULT 0,
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  `delete_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_code` (`code`),
  KEY `idx_status_delete` (`status`,`delete_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='软件升级产品';

-- 已有表升级：
-- ALTER TABLE `yz_system_software_upgrade`
--   ADD COLUMN `download_urls` text DEFAULT NULL COMMENT '多运行环境安装包地址 JSON，如 {"windows":"...","mac":"...","ubuntu":"...","linux":"..."}' AFTER `download_url`;
