id(); $table->foreignId('course_class_id')->constrained()->cascadeOnDelete(); $table->foreignId('student_id')->constrained()->cascadeOnDelete(); $table->integer('meeting_number')->nullable(); $table->date('date'); $table->enum('status', AttendanceStatus::values())->nullable()->default(AttendanceStatus::Absent->value); $table->timestamp('recorded_at')->nullable(); $table->timestamps(); $table->unique(['course_class_id', 'student_id', 'meeting_number']); }); } public function down(): void { Schema::dropIfExists('attendances'); } };