diff --git a/scripts/shift-old-datetimes-minus-8h.sql b/scripts/shift-old-datetimes-minus-8h.sql index abd3bf6..193cb6d 100644 --- a/scripts/shift-old-datetimes-minus-8h.sql +++ b/scripts/shift-old-datetimes-minus-8h.sql @@ -1,5 +1,5 @@ --- Only devices.* times. Dashboard / daily-report device counts use created_at --- (and updated_at for「活跃」). Do not touch photos / visits / other tables. +-- Only devices.created_at / updated_at. first_seen_at / last_seen_at +-- were dropped (see 2026_08_04_000002_simplify_devices_columns). -- -- 1) 备份 devices -- 2) 把 @cutoff 改成切时区那一刻 @@ -12,11 +12,7 @@ SET @cutoff = '2026-09-16 14:00:00'; -- TODO: 改成实际切时区的时间 SELECT 'created_at' AS col, COUNT(*) AS n, MIN(created_at) AS mn, MAX(created_at) AS mx FROM devices WHERE created_at IS NOT NULL AND created_at < @cutoff UNION ALL SELECT 'updated_at', COUNT(*), MIN(updated_at), MAX(updated_at) - FROM devices WHERE updated_at IS NOT NULL AND updated_at < @cutoff -UNION ALL SELECT 'first_seen_at', COUNT(*), MIN(first_seen_at), MAX(first_seen_at) - FROM devices WHERE first_seen_at IS NOT NULL AND first_seen_at < @cutoff -UNION ALL SELECT 'last_seen_at', COUNT(*), MIN(last_seen_at), MAX(last_seen_at) - FROM devices WHERE last_seen_at IS NOT NULL AND last_seen_at < @cutoff; + FROM devices WHERE updated_at IS NOT NULL AND updated_at < @cutoff; START TRANSACTION; @@ -24,10 +20,6 @@ UPDATE devices SET created_at = DATE_SUB(created_at, INTERVAL 8 HOUR) WHERE created_at IS NOT NULL AND created_at < @cutoff; UPDATE devices SET updated_at = DATE_SUB(updated_at, INTERVAL 8 HOUR) WHERE updated_at IS NOT NULL AND updated_at < @cutoff; -UPDATE devices SET first_seen_at = DATE_SUB(first_seen_at, INTERVAL 8 HOUR) - WHERE first_seen_at IS NOT NULL AND first_seen_at < @cutoff; -UPDATE devices SET last_seen_at = DATE_SUB(last_seen_at, INTERVAL 8 HOUR) - WHERE last_seen_at IS NOT NULL AND last_seen_at < @cutoff; -- 后台看一台改时区前的设备,时间对了再 COMMIT COMMIT;