id(); $table->foreignId('order_id')->nullable()->constrained()->cascadeOnDelete(); $table->foreignId('reclamation_id')->nullable()->constrained()->cascadeOnDelete(); $table->foreignId('user_id')->constrained()->cascadeOnDelete(); $table->foreignId('target_user_id')->nullable()->constrained('users')->nullOnDelete(); $table->string('notification_type')->default('none'); // none | all | user $table->text('message')->nullable(); $table->timestamps(); $table->index(['order_id', 'created_at']); $table->index(['reclamation_id', 'created_at']); $table->index(['user_id', 'created_at']); }); } public function down(): void { Schema::dropIfExists('chat_messages'); } };