id(); $table->foreignId('employee_id')->constrained('users')->onDelete('cascade'); $table->string('previous_designation')->nullable(); $table->foreignId('designation_id')->constrained('designations')->onDelete('cascade'); $table->date('promotion_date'); $table->date('effective_date'); $table->decimal('salary_adjustment', 15, 2)->nullable(); $table->text('reason')->nullable(); $table->string('document')->nullable(); $table->enum('status', ['pending', 'approved', 'rejected'])->default('pending'); $table->foreignId('created_by')->constrained('users')->onDelete('cascade'); $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('promotions'); } };