-- 修复 user_day_statistics 表的 created_at 和 updated_at 时间格式
-- 将 TIMESTAMP 类型改为 DATETIME 类型，确保时间格式为 2026-01-12 12:22:22
-- 执行日期: 2026-01-29

USE media_manager;

-- 步骤1: 备份现有数据（建议先备份，以防万一）
-- CREATE TABLE user_day_statistics_backup_20260129 AS SELECT * FROM user_day_statistics;

-- 步骤2: 设置会话时区为东八区（确保时间转换正确）
SET time_zone = '+08:00';

-- 步骤3: 修改 created_at 字段类型为 DATETIME
-- MySQL 会自动将 TIMESTAMP 转换为 DATETIME，保持时间值不变
-- 先移除默认值约束（MySQL 8.0+ 需要）
ALTER TABLE user_day_statistics 
MODIFY COLUMN created_at DATETIME NULL;

-- 重新添加默认值约束
ALTER TABLE user_day_statistics 
MODIFY COLUMN created_at DATETIME DEFAULT CURRENT_TIMESTAMP;

-- 步骤4: 修改 updated_at 字段类型为 DATETIME
ALTER TABLE user_day_statistics 
MODIFY COLUMN updated_at DATETIME NULL;

-- 重新添加默认值约束
ALTER TABLE user_day_statistics 
MODIFY COLUMN updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

-- 步骤5: 验证修改结果
-- 查看表结构
DESCRIBE user_day_statistics;

-- 查看几条数据的时间格式（应该显示为 2026-01-12 12:22:22 格式）
SELECT 
    id, 
    account_id, 
    record_date, 
    DATE_FORMAT(created_at, '%Y-%m-%d %H:%i:%s') AS created_at_formatted,
    DATE_FORMAT(updated_at, '%Y-%m-%d %H:%i:%s') AS updated_at_formatted,
    created_at,
    updated_at
FROM user_day_statistics 
ORDER BY id DESC 
LIMIT 10;
