init.sql 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. -- License Admin 数据库初始化脚本
  2. -- MySQL 版本
  3. -- 创建数据库(如果不存在)
  4. CREATE DATABASE IF NOT EXISTS `license_admin`
  5. DEFAULT CHARACTER SET utf8mb4
  6. DEFAULT COLLATE utf8mb4_unicode_ci;
  7. -- 使用数据库
  8. USE `license_admin`;
  9. -- 创建 licenses 表
  10. CREATE TABLE IF NOT EXISTS `licenses` (
  11. `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  12. `license_key` varchar(255) NOT NULL COMMENT '激活码',
  13. `bound_devices` text COMMENT '已绑定设备列表(JSON数组)',
  14. `device_activations` text COMMENT '设备激活时间(JSON对象)',
  15. `max_devices` int NOT NULL DEFAULT '2' COMMENT '最大设备数',
  16. `created_at` datetime(3) DEFAULT NULL COMMENT '创建时间',
  17. `updated_at` datetime(3) DEFAULT NULL COMMENT '更新时间',
  18. PRIMARY KEY (`id`),
  19. UNIQUE KEY `idx_licenses_key` (`license_key`),
  20. KEY `idx_licenses_created_at` (`created_at`)
  21. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='许可证表';
  22. -- 插入测试数据(可选)
  23. INSERT INTO `licenses` (`license_key`, `bound_devices`, `device_activations`, `max_devices`, `created_at`, `updated_at`)
  24. VALUES
  25. ('TEST-KEY-123456', '[]', '{}', 2, NOW(), NOW())
  26. ON DUPLICATE KEY UPDATE `updated_at` = NOW();