-- 客户端下载管理表 -- 保留 platform_type 和 platform_name 字段以兼容旧终端 -- 新增 platform_code 关联 dict_data 表的码表数据 CREATE TABLE IF NOT EXISTS `client_downloads` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `platform_type` VARCHAR(50) NULL COMMENT '平台类型(兼容旧版:mobile, desktop, terminal)', `platform_name` VARCHAR(50) NULL COMMENT '平台名称(兼容旧版:ios, android, windows等)', `platform_code` VARCHAR(64) NOT NULL COMMENT '平台编码(关联 dict_data.dict_code)', `version` VARCHAR(50) NOT NULL COMMENT '版本号(如 1.0.0)', `version_code` INT NOT NULL COMMENT '版本号数值(用于版本比较)', `download_url` VARCHAR(512) NOT NULL COMMENT '下载链接', `file_size` BIGINT NULL COMMENT '文件大小(bytes)', `release_notes` TEXT NULL COMMENT '更新说明', `is_active` BOOLEAN NOT NULL DEFAULT TRUE COMMENT '是否启用', `is_latest` BOOLEAN NOT NULL DEFAULT FALSE COMMENT '是否为最新版本', `min_system_version` VARCHAR(50) NULL COMMENT '最低系统版本要求', `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `created_by` INT NULL COMMENT '创建者用户ID', PRIMARY KEY (`id`), INDEX `idx_platform_code` (`platform_code`), INDEX `idx_platform_type_name` (`platform_type`, `platform_name`), INDEX `idx_is_latest` (`is_latest`), INDEX `idx_is_active` (`is_active`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户端下载管理表'; -- 插入测试数据示例(包含新旧字段映射) -- 旧终端使用 platform_type + platform_name -- 新终端使用 platform_code -- INSERT INTO client_downloads (platform_type, platform_name, platform_code, version, version_code, download_url, file_size, release_notes, is_active, is_latest, min_system_version, created_by) -- VALUES -- ('desktop', 'windows', 'WIN', '1.0.0', 100, 'https://download.example.com/imeeting-win-1.0.0.exe', 52428800, '首个正式版本', TRUE, TRUE, 'Windows 10', 1), -- ('desktop', 'mac', 'MAC', '1.0.0', 100, 'https://download.example.com/imeeting-mac-1.0.0.dmg', 48234496, '首个正式版本', TRUE, TRUE, 'macOS 11.0', 1), -- ('mobile', 'ios', 'IOS', '1.0.0', 100, 'https://apps.apple.com/app/imeeting', 45088768, '首个正式版本', TRUE, TRUE, 'iOS 13.0', 1), -- ('mobile', 'android', 'ANDROID', '1.0.0', 100, 'https://download.example.com/imeeting-android-1.0.0.apk', 38797312, '首个正式版本', TRUE, TRUE, 'Android 8.0', 1);