-- ****************************************************************** -- 用户日志表升级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)';