-- ******************************************************************
-- 用户日志表升级SQL - 添加原始时间和收集时间字段
-- 对应的Model: App\Module\Game\Models\UserLog
-- 升级说明: 添加original_time和collected_at字段，支持原始时间排序
-- ******************************************************************

-- 1. 添加新字段
ALTER TABLE `kku_user_logs` 
ADD COLUMN `original_time` timestamp NULL DEFAULT NULL COMMENT '原始日志时间（业务发生时间）' AFTER `source_table`,
ADD COLUMN `collected_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收集时间（日志收集时间）' AFTER `original_time`;

-- 2. 数据迁移：将现有的created_at复制到original_time和collected_at
UPDATE `kku_user_logs` SET 
    `original_time` = `created_at`,
    `collected_at` = `created_at`
WHERE `original_time` IS NULL;

-- 3. 添加新索引
ALTER TABLE `kku_user_logs` 
ADD KEY `idx_original_time` (`original_time`),
ADD KEY `idx_collected_at` (`collected_at`),
ADD KEY `idx_user_original_time` (`user_id`, `original_time`),
ADD KEY `idx_user_collected_at` (`user_id`, `collected_at`);

-- 4. 修改字段注释，明确用途
ALTER TABLE `kku_user_logs` 
MODIFY COLUMN `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间（兼容字段，等同于collected_at）';
