Files
medical-mall/pages/mall/analytics/test/04_cleanup.sql
2026-01-30 16:17:13 +08:00

111 lines
4.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================
-- 数据分析实时大屏 - 清理测试数据脚本
-- ============================================
-- 谨慎使用:此脚本会删除测试数据
-- 方式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;