-- License Admin 数据库初始化脚本
-- MySQL 版本

-- 创建数据库（如果不存在）
CREATE DATABASE IF NOT EXISTS `license_admin` 
  DEFAULT CHARACTER SET utf8mb4 
  DEFAULT COLLATE utf8mb4_unicode_ci;

-- 使用数据库
USE `license_admin`;

-- 创建 licenses 表
CREATE TABLE IF NOT EXISTS `licenses` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `license_key` varchar(255) NOT NULL COMMENT '激活码',
  `bound_devices` text COMMENT '已绑定设备列表（JSON数组）',
  `device_activations` text COMMENT '设备激活时间（JSON对象）',
  `max_devices` int NOT NULL DEFAULT '2' COMMENT '最大设备数',
  `created_at` datetime(3) DEFAULT NULL COMMENT '创建时间',
  `updated_at` datetime(3) DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_licenses_key` (`license_key`),
  KEY `idx_licenses_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='许可证表';

-- 插入测试数据（可选）
INSERT INTO `licenses` (`license_key`, `bound_devices`, `device_activations`, `max_devices`, `created_at`, `updated_at`)
VALUES 
  ('TEST-KEY-123456', '[]', '{}', 2, NOW(), NOW())
ON DUPLICATE KEY UPDATE `updated_at` = NOW();

