init.sql 1.4 KB

123456789101112131415161718192021222324252627282930313233
  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. `device_heartbeats` text COMMENT '设备心跳时间(JSON对象,最后验证时间)',
  16. `max_devices` int NOT NULL DEFAULT '2' COMMENT '最大设备数',
  17. `remark` text COMMENT '备注信息',
  18. `created_at` datetime(3) DEFAULT NULL COMMENT '创建时间',
  19. `updated_at` datetime(3) DEFAULT NULL COMMENT '更新时间',
  20. PRIMARY KEY (`id`),
  21. UNIQUE KEY `idx_licenses_key` (`license_key`),
  22. KEY `idx_licenses_created_at` (`created_at`)
  23. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='许可证表';
  24. -- 插入测试数据(可选)
  25. INSERT INTO `licenses` (`license_key`, `bound_devices`, `device_activations`, `device_heartbeats`, `max_devices`, `created_at`, `updated_at`)
  26. VALUES
  27. ('TEST-KEY-123456', '[]', '{}', '{}', 2, NOW(), NOW())
  28. ON DUPLICATE KEY UPDATE `updated_at` = NOW();