create_pet_active_skills_table.sql 2.1 KB

12345678910111213141516171819202122232425262728
  1. -- 创建宠物激活技能表
  2. -- 用于记录宠物当前激活的技能状态,支持定时任务自动处理
  3. CREATE TABLE `kku_pet_active_skills` (
  4. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  5. `pet_id` bigint(20) unsigned NOT NULL COMMENT '宠物ID',
  6. `skill_id` int(10) unsigned NOT NULL COMMENT '技能ID',
  7. `skill_name` varchar(50) NOT NULL COMMENT '技能名称',
  8. `start_time` timestamp NOT NULL COMMENT '开始时间',
  9. `end_time` timestamp NOT NULL COMMENT '结束时间',
  10. `status` enum('active','expired','cancelled') NOT NULL DEFAULT 'active' COMMENT '状态:active-生效中,expired-已过期,cancelled-已取消',
  11. `config` json DEFAULT NULL COMMENT '技能配置信息',
  12. `created_at` timestamp NULL DEFAULT NULL,
  13. `updated_at` timestamp NULL DEFAULT NULL,
  14. PRIMARY KEY (`id`),
  15. KEY `idx_pet_status` (`pet_id`,`status`),
  16. KEY `idx_skill_status` (`skill_name`,`status`),
  17. KEY `idx_end_time_status` (`end_time`,`status`),
  18. KEY `idx_start_time` (`start_time`),
  19. CONSTRAINT `kku_pet_active_skills_pet_id_foreign` FOREIGN KEY (`pet_id`) REFERENCES `kku_pet_users` (`id`) ON DELETE CASCADE,
  20. CONSTRAINT `kku_pet_active_skills_skill_id_foreign` FOREIGN KEY (`skill_id`) REFERENCES `kku_pet_skills` (`id`) ON DELETE CASCADE
  21. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='宠物激活技能表 - 记录宠物当前激活的技能状态';
  22. -- 插入示例数据(可选)
  23. -- INSERT INTO `kku_pet_active_skills` (`pet_id`, `skill_id`, `skill_name`, `start_time`, `end_time`, `status`, `config`) VALUES
  24. -- (1, 1, '自动收菜', NOW(), DATE_ADD(NOW(), INTERVAL 2 HOUR), 'active', '{"auto_harvest": true, "check_interval": 60, "last_check_time": "2024-12-30 17:45:00"}'),
  25. -- (2, 2, '自动播种', NOW(), DATE_ADD(NOW(), INTERVAL 4 HOUR), 'active', '{"auto_plant": true, "check_interval": 60, "last_check_time": "2024-12-30 17:45:00", "preferred_seeds": [1001, 1002]}'),
  26. -- (3, 3, '灾害防护', NOW(), DATE_ADD(NOW(), INTERVAL 6 HOUR), 'active', '{"disaster_protection": true, "protected_types": ["all"], "check_interval": 300, "last_check_time": "2024-12-30 17:45:00"}');