-- Wipe all class/schedule-related data from stepuplivedb.
-- Preserves: students, staffs, grades, subjects, subjects_grades_tables,
-- users/roles/permissions, employee_schedules*, leads, restaurant_schedules, sessions.
-- Includes ABA session_data_records and mastery_maintenance_schedules per user request.

USE stepuplivedb;

SET FOREIGN_KEY_CHECKS = 0;

-- Attendance / session (leaf tables first for readability; FK checks off anyway)
TRUNCATE TABLE class_session_attendances;
TRUNCATE TABLE attendance_records;

-- Assignments (classwork)
TRUNCATE TABLE assignment_submissions;
TRUNCATE TABLE assignment_students;
TRUNCATE TABLE assignments;

-- Cancellations / makeups / requests / messages
TRUNCATE TABLE class_cancellations;
TRUNCATE TABLE class_makeups;
TRUNCATE TABLE class_messages;
TRUNCATE TABLE class_requests;

-- Occurrences
TRUNCATE TABLE class_occurrence_students;
TRUNCATE TABLE class_occurrences;

-- Schedules / fees / enrolments
TRUNCATE TABLE class_schedules;
TRUNCATE TABLE student_class_fees;
TRUNCATE TABLE assign_student_classes;
TRUNCATE TABLE assign_classes_schedules;

-- ABA (per user confirmation)
TRUNCATE TABLE session_data_records;
TRUNCATE TABLE mastery_maintenance_schedules;

-- Core classes
TRUNCATE TABLE assign_classes;

-- Import history so re-import is clean
TRUNCATE TABLE class_backup_import_staff_logs;
TRUNCATE TABLE class_backup_import_runs;

SET FOREIGN_KEY_CHECKS = 1;

SELECT 'Wipe complete' AS status;
