-- ******************************************************************
-- 表 kku_openapi_rate_limits 的创建SQL
-- 对应的Model: App\Module\OpenAPI\Models\OpenApiRateLimit
-- 警告: 此文件由系统自动生成，禁止修改！
-- ******************************************************************

CREATE TABLE `kku_openapi_rate_limits` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `app_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '应用ID',
  `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'IP地址',
  `endpoint` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '接口端点',
  `limit_type` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '限制类型',
  `window_start` timestamp NOT NULL COMMENT '时间窗口开始',
  `request_count` int NOT NULL DEFAULT '0' COMMENT '请求次数',
  `is_blocked` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否被阻止',
  `user_agent` text COLLATE utf8mb4_unicode_ci COMMENT '用户代理',
  `headers` json DEFAULT NULL COMMENT '请求头信息',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_app_id` (`app_id`),
  KEY `idx_ip_address` (`ip_address`),
  KEY `idx_endpoint` (`endpoint`),
  KEY `idx_limit_type` (`limit_type`),
  KEY `idx_window_start` (`window_start`),
  KEY `idx_is_blocked` (`is_blocked`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='限流记录表';
