111 lines
4.0 KiB
SQL
111 lines
4.0 KiB
SQL
-- ============================================
|
||
-- 数据分析实时大屏 - 清理测试数据脚本
|
||
-- ============================================
|
||
-- 谨慎使用:此脚本会删除测试数据
|
||
|
||
-- 方式1:删除特定时间范围的测试数据(推荐)
|
||
-- 删除今日的测试订单
|
||
DELETE FROM orders
|
||
WHERE created_at >= DATE_TRUNC('day', NOW())
|
||
AND user_id IN (
|
||
'11111111-1111-1111-1111-111111111111',
|
||
'22222222-2222-2222-2222-222222222222',
|
||
'33333333-3333-3333-3333-333333333333',
|
||
'44444444-4444-4444-4444-444444444444',
|
||
'55555555-5555-5555-5555-555555555555',
|
||
'66666666-6666-6666-6666-666666666666',
|
||
'77777777-7777-7777-7777-777777777777',
|
||
'88888888-8888-8888-8888-888888888888'
|
||
);
|
||
|
||
-- 删除昨日同时段的测试订单
|
||
DELETE FROM orders
|
||
WHERE created_at >= DATE_TRUNC('day', NOW() - INTERVAL '1 day')
|
||
AND created_at <= NOW() - INTERVAL '1 day'
|
||
AND user_id IN (
|
||
'11111111-1111-1111-1111-111111111111',
|
||
'22222222-2222-2222-2222-222222222222',
|
||
'33333333-3333-3333-3333-333333333333',
|
||
'44444444-4444-4444-4444-444444444444',
|
||
'55555555-5555-5555-5555-555555555555',
|
||
'66666666-6666-6666-6666-666666666666',
|
||
'77777777-7777-7777-7777-777777777777',
|
||
'88888888-8888-8888-8888-888888888888'
|
||
);
|
||
|
||
-- 删除测试用户会话
|
||
DELETE FROM user_sessions
|
||
WHERE user_id IN (
|
||
'11111111-1111-1111-1111-111111111111',
|
||
'22222222-2222-2222-2222-222222222222',
|
||
'33333333-3333-3333-3333-333333333333',
|
||
'44444444-4444-4444-4444-444444444444',
|
||
'55555555-5555-5555-5555-555555555555',
|
||
'66666666-6666-6666-6666-666666666666',
|
||
'77777777-7777-7777-7777-777777777777',
|
||
'88888888-8888-8888-8888-888888888888'
|
||
);
|
||
|
||
-- 删除测试访问日志
|
||
DELETE FROM page_views
|
||
WHERE user_id IN (
|
||
'11111111-1111-1111-1111-111111111111',
|
||
'22222222-2222-2222-2222-222222222222',
|
||
'33333333-3333-3333-3333-333333333333',
|
||
'44444444-4444-4444-4444-444444444444',
|
||
'55555555-5555-5555-5555-555555555555',
|
||
'66666666-6666-6666-6666-666666666666',
|
||
'77777777-7777-7777-7777-777777777777',
|
||
'88888888-8888-8888-8888-888888888888'
|
||
);
|
||
|
||
-- 删除测试订单商品关联
|
||
-- 说明:order_id 为 UUID,不能用 LIKE 前缀匹配;这里改为通过 orders 反查关联订单。
|
||
DELETE FROM order_items
|
||
WHERE order_id IN (
|
||
SELECT id
|
||
FROM orders
|
||
WHERE user_id IN (
|
||
'11111111-1111-1111-1111-111111111111',
|
||
'22222222-2222-2222-2222-222222222222',
|
||
'33333333-3333-3333-3333-333333333333',
|
||
'44444444-4444-4444-4444-444444444444',
|
||
'55555555-5555-5555-5555-555555555555',
|
||
'66666666-6666-6666-6666-666666666666',
|
||
'77777777-7777-7777-7777-777777777777',
|
||
'88888888-8888-8888-8888-888888888888'
|
||
)
|
||
);
|
||
|
||
-- 删除测试用户(可选,如果这些用户只用于测试)
|
||
-- 注意:如果用户有其他数据关联,可能需要先删除关联数据
|
||
-- DELETE FROM users
|
||
-- WHERE id IN (
|
||
-- '11111111-1111-1111-1111-111111111111',
|
||
-- '22222222-2222-2222-2222-222222222222',
|
||
-- '33333333-3333-3333-3333-333333333333',
|
||
-- '44444444-4444-4444-4444-444444444444',
|
||
-- '55555555-5555-5555-5555-555555555555',
|
||
-- '66666666-6666-6666-6666-666666666666',
|
||
-- '77777777-7777-7777-7777-777777777777',
|
||
-- '88888888-8888-8888-8888-888888888888'
|
||
-- );
|
||
|
||
-- ============================================
|
||
-- 方式2:完全清空表(非常谨慎使用)
|
||
-- ============================================
|
||
-- 取消下面的注释来完全清空表
|
||
-- TRUNCATE TABLE orders, user_sessions, users, order_items, page_views CASCADE;
|
||
|
||
-- ============================================
|
||
-- 方式3:删除测试表(如果表只用于测试)
|
||
-- ============================================
|
||
-- 取消下面的注释来删除表
|
||
-- DROP TABLE IF EXISTS order_items CASCADE;
|
||
-- DROP TABLE IF EXISTS page_views CASCADE;
|
||
-- DROP TABLE IF EXISTS user_sessions CASCADE;
|
||
-- DROP TABLE IF EXISTS orders CASCADE;
|
||
-- DROP TABLE IF EXISTS users CASCADE;
|
||
-- DROP TABLE IF EXISTS products CASCADE;
|
||
-- DROP FUNCTION IF EXISTS update_updated_at_column() CASCADE;
|