-- ============================================
-- 双色球桌面应用数据库初始化脚本
-- ============================================
-- 创建时间：2026-01-07
-- 维护者：JueChen
-- 
-- 说明：
-- 1. 此脚本用于 MySQL 远程数据库初始化
-- 2. 表结构由程序通过 GORM AutoMigrate 自动创建，此脚本作为参考
-- 3. 时间字段由程序显式设置，不使用数据库默认值
-- 4. 如需手动执行，请确保数据库已创建（如：ssq）
-- ============================================

-- ============================================
-- 1. 双色球历史开奖数据表 (ssq_history)
-- ============================================
-- 用途：存储双色球历史开奖数据
-- 使用场景：MySQL 远程数据库和 SQLite 本地数据库
CREATE TABLE IF NOT EXISTS `ssq_history` (
  `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `issue_number` VARCHAR(20) NOT NULL COMMENT '期号（如2025145）',
  `open_date` DATE NULL COMMENT '开奖日期（允许为空）',
  `red_ball_1` TINYINT NOT NULL COMMENT '红球1（范围：1-33）',
  `red_ball_2` TINYINT NOT NULL COMMENT '红球2（范围：1-33）',
  `red_ball_3` TINYINT NOT NULL COMMENT '红球3（范围：1-33）',
  `red_ball_4` TINYINT NOT NULL COMMENT '红球4（范围：1-33）',
  `red_ball_5` TINYINT NOT NULL COMMENT '红球5（范围：1-33）',
  `red_ball_6` TINYINT NOT NULL COMMENT '红球6（范围：1-33）',
  `blue_ball` TINYINT NOT NULL COMMENT '蓝球（范围：1-16）',
  `created_at` DATETIME NOT NULL COMMENT '创建时间（由程序设置）',
  `updated_at` DATETIME NOT NULL COMMENT '更新时间（由程序设置）',
  PRIMARY KEY (`id`),
  INDEX `idx_issue_number` (`issue_number`),
  INDEX `idx_open_date` (`open_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='双色球历史开奖数据表（用于MySQL远程数据库和SQLite本地数据库）';

CREATE TABLE IF NOT EXISTS `sys_authorization_code` (
  `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `license_code` VARCHAR(100) NOT NULL COMMENT '授权码（唯一，用于标识授权）',
  `device_id` VARCHAR(100) NOT NULL COMMENT '设备ID（MD5哈希，基于主机名、用户目录、操作系统生成，用于设备绑定）',
  `activated_at` DATETIME NOT NULL COMMENT '激活时间（授权激活的时间）',
  `expires_at` DATETIME NULL COMMENT '过期时间（可选，NULL表示永不过期）',
  `status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态（1:有效 0:无效）',
  `created_at` DATETIME NOT NULL COMMENT '创建时间（由程序设置）',
  `updated_at` DATETIME NOT NULL COMMENT '更新时间（由程序设置）',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_license_code` (`license_code`),
  INDEX `idx_device_id` (`device_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='授权信息表（用于MySQL远程数据库和SQLite本地数据库）';

CREATE TABLE IF NOT EXISTS `sys_version` (
  `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `version` VARCHAR(20) NOT NULL COMMENT '版本号（语义化版本，如1.0.0）',
  `download_url` VARCHAR(500) NULL COMMENT '下载地址（更新包下载URL）',
  `changelog` TEXT NULL COMMENT '更新日志（Markdown格式）',
  `force_update` TINYINT NOT NULL DEFAULT 0 COMMENT '是否强制更新（1:是 0:否）',
  `release_date` DATE NULL COMMENT '发布日期',
  `created_at` DATETIME NOT NULL COMMENT '创建时间（由程序设置）',
  `updated_at` DATETIME NOT NULL COMMENT '更新时间（由程序设置）',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_version` (`version`),
  INDEX `idx_release_date` (`release_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='版本信息表（用于MySQL远程数据库，存储应用版本发布信息）';
