id(); $table->foreignId('user_id')->constrained()->cascadeOnDelete(); $table->string('full_name', 100); $table->string('code', 20)->unique(); $table->string('phone_number', 20); $table->unsignedInteger('base_salary')->default(0); $table->enum('gender', Gender::values())->comment(Gender::comment()); $table->text('address')->nullable(); $table->date('birthdate'); $table->date('hire_date'); $table->date('resign_date')->nullable(); $table->enum('status', EmploymentStatus::values())->default(EmploymentStatus::PERMANENT)->comment(EmploymentStatus::comment()); $table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->nullable()->useCurrentOnUpdate(); $table->softDeletes(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('employees'); } };