user_logs_upgrade.sql 1.3 KB

123456789101112131415161718192021222324252627
  1. -- ******************************************************************
  2. -- 用户日志表升级SQL - 添加原始时间和收集时间字段
  3. -- 对应的Model: App\Module\Game\Models\UserLog
  4. -- 升级说明: 添加original_time和collected_at字段,支持原始时间排序
  5. -- ******************************************************************
  6. -- 1. 添加新字段
  7. ALTER TABLE `kku_user_logs`
  8. ADD COLUMN `original_time` timestamp NULL DEFAULT NULL COMMENT '原始日志时间(业务发生时间)' AFTER `source_table`,
  9. ADD COLUMN `collected_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收集时间(日志收集时间)' AFTER `original_time`;
  10. -- 2. 数据迁移:将现有的created_at复制到original_time和collected_at
  11. UPDATE `kku_user_logs` SET
  12. `original_time` = `created_at`,
  13. `collected_at` = `created_at`
  14. WHERE `original_time` IS NULL;
  15. -- 3. 添加新索引
  16. ALTER TABLE `kku_user_logs`
  17. ADD KEY `idx_original_time` (`original_time`),
  18. ADD KEY `idx_collected_at` (`collected_at`),
  19. ADD KEY `idx_user_original_time` (`user_id`, `original_time`),
  20. ADD KEY `idx_user_collected_at` (`user_id`, `collected_at`);
  21. -- 4. 修改字段注释,明确用途
  22. ALTER TABLE `kku_user_logs`
  23. MODIFY COLUMN `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(兼容字段,等同于collected_at)';