CREATE TABLE `class_enrollments` ( `class_id` varchar(128) NOT NULL, `student_id` varchar(128) NOT NULL, `class_enrollment_status` enum('active','inactive') NOT NULL DEFAULT 'active', `created_at` timestamp NOT NULL DEFAULT (now()), CONSTRAINT `class_enrollments_class_id_student_id_pk` PRIMARY KEY(`class_id`,`student_id`) ); --> statement-breakpoint CREATE TABLE `class_schedule` ( `id` varchar(128) NOT NULL, `class_id` varchar(128) NOT NULL, `weekday` int NOT NULL, `start_time` varchar(5) NOT NULL, `end_time` varchar(5) NOT NULL, `course` varchar(255) NOT NULL, `location` varchar(100), `created_at` timestamp NOT NULL DEFAULT (now()), `updated_at` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP, CONSTRAINT `class_schedule_id` PRIMARY KEY(`id`) ); --> statement-breakpoint CREATE TABLE `classes` ( `id` varchar(128) NOT NULL, `name` varchar(255) NOT NULL, `grade` varchar(50) NOT NULL, `homeroom` varchar(50), `room` varchar(50), `teacher_id` varchar(128) NOT NULL, `created_at` timestamp NOT NULL DEFAULT (now()), `updated_at` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP, CONSTRAINT `classes_id` PRIMARY KEY(`id`) ); --> statement-breakpoint ALTER TABLE `class_enrollments` ADD CONSTRAINT `ce_c_fk` FOREIGN KEY (`class_id`) REFERENCES `classes`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE `class_enrollments` ADD CONSTRAINT `ce_s_fk` FOREIGN KEY (`student_id`) REFERENCES `users`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE `class_schedule` ADD CONSTRAINT `cs_c_fk` FOREIGN KEY (`class_id`) REFERENCES `classes`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE `classes` ADD CONSTRAINT `classes_teacher_id_users_id_fk` FOREIGN KEY (`teacher_id`) REFERENCES `users`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint CREATE INDEX `class_enrollments_class_idx` ON `class_enrollments` (`class_id`);--> statement-breakpoint CREATE INDEX `class_enrollments_student_idx` ON `class_enrollments` (`student_id`);--> statement-breakpoint CREATE INDEX `class_schedule_class_idx` ON `class_schedule` (`class_id`);--> statement-breakpoint CREATE INDEX `class_schedule_class_day_idx` ON `class_schedule` (`class_id`,`weekday`);--> statement-breakpoint CREATE INDEX `classes_teacher_idx` ON `classes` (`teacher_id`);--> statement-breakpoint CREATE INDEX `classes_grade_idx` ON `classes` (`grade`);