-- ============================================================================== -- RailwaySystem Clean Demo 资产: reset_demo_data.sql -- 适用数据库: KingbaseES V009R003C018 (schema: public) -- 执行目标: 一键清空并重置所有 Demo 演示数据,将系统还原为黄金演示就绪状态 -- 安全防护: 仅允许在 training_demo_clean 库执行,杜绝误触任何生产或共享测试库 -- ============================================================================== DO $$ DECLARE v_db TEXT; BEGIN SELECT current_database() INTO v_db; IF v_db NOT LIKE '%demo%' THEN RAISE EXCEPTION '>>> [RESET-FATAL] 当前数据库为 %,非 Demo 专属库,安全拒绝重置!', v_db; END IF; RAISE NOTICE '>>> [RESET-START] 正在重置 % 的演示数据...', v_db; END $$; BEGIN; -- 1. 逆序清理业务数据 DELETE FROM public.train_external_operation; DELETE FROM public.train_external_resource_mapping; DELETE FROM public.train_student_portrait; DELETE FROM public.train_study_duration; DELETE FROM public.train_student_score; DELETE FROM public.train_score_item; DELETE FROM public.train_student_checkin; DELETE FROM public.train_lesson; DELETE FROM public.train_dorm_auth; DELETE FROM public.train_accommodation; DELETE FROM public.train_class_report; DELETE FROM public.train_enrollment; DELETE FROM public.train_plan_course; DELETE FROM public.train_class_plan; DELETE FROM public.train_course_resource; DELETE FROM public.train_resource; DELETE FROM public.train_electronic_board; DELETE FROM public.train_dormitory_info; DELETE FROM public.train_training_site; DELETE FROM public.train_classroom_info; DELETE FROM public.train_course; DELETE FROM public.train_student; DELETE FROM public.train_teacher WHERE t_id <> 'T001'; -- 保留基线教师 T001 -- 2. 清理 Demo 用户关联 DELETE FROM public.sys_user_role WHERE user_id IN (10, 11, 12, 21, 22); DELETE FROM public.sys_user WHERE user_id IN (10, 11, 12, 21, 22); COMMIT; -- 提示执行载入脚本 \echo '>>> [RESET-CLEANED] 已清空演示业务表。请重新依序执行 001 到 004 脚本完成黄金数据注入。'