id(); $table->foreignId('user_id')->constrained()->onDelete('cascade'); $table->string('title'); $table->text('body')->nullable(); $table->string('image_path')->nullable(); $table->enum('type', ['info', 'promocion', 'mantenimiento', 'aviso']) ->default('info'); $table->json('audience'); // ["all"] | ["Alumno","Docente"] | etc. $table->timestamp('expires_at')->nullable(); $table->boolean('active')->default(true); $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('anuncios'); } };