Files
HRM-System/database/seeders/DatabaseSeeder.php
2026-04-13 08:16:56 +08:00

185 lines
6.1 KiB
PHP

<?php
namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use App\Models\LeaveApplication;
use App\Models\LeaveType;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
if (config('app.is_demo')) {
$this->call([
// Core system seeders
PermissionSeeder::class,
RoleSeeder::class,
PlanSeeder::class,
DefaultSuperAdminSeeder::class,
DefaultCompanySeeder::class,
DefaultCompanyUserSeeder::class,
CurrencySeeder::class,
EmailTemplateSeeder::class,
LandingPageCustomPageSeeder::class,
CouponSeeder::class,
PlanOrderSeeder::class,
PlanRequestSeeder::class,
ReferralSettingSeeder::class,
ReferralSeeder::class,
PayoutRequestSeeder::class,
WebhookSeeder::class,
MediaItemSeeder::class,
// HRM module seeders
BranchSeeder::class,
DepartmentSeeder::class,
DesignationSeeder::class,
DocumentTypeSeeder::class,
EmployeeSeeder::class,
AwardTypeSeeder::class,
AwardSeeder::class,
PromotionSeeder::class,
ResignationSeeder::class,
TerminationSeeder::class,
WarningSeeder::class,
TripSeeder::class,
ComplaintSeeder::class,
EmployeeTransferSeeder::class,
HolidaySeeder::class,
AnnouncementSeeder::class,
AssetTypeSeeder::class,
AssetSeeder::class,
// Performance Module Seeders
PerformanceIndicatorCategorySeeder::class,
PerformanceIndicatorSeeder::class,
GoalTypeSeeder::class,
EmployeeGoalSeeder::class,
ReviewCycleSeeder::class,
EmployeeReviewSeeder::class,
// Trainning Seeders
TrainingTypeSeeder::class,
TrainingProgramSeeder::class,
TrainingSessionSeeder::class,
EmployeeTrainingSeeder::class,
// Recruitment Module Seeders
JobCategorySeeder::class,
JobRequisitionSeeder::class,
JobTypeSeeder::class,
JobLocationSeeder::class,
JobPostingSeeder::class,
CandidateSourceSeeder::class,
CandidateSeeder::class,
InterviewTypeSeeder::class,
InterviewRoundSeeder::class,
InterviewSeeder::class,
InterviewFeedbackSeeder::class,
CandidateAssessmentSeeder::class,
OfferTemplateSeeder::class,
OfferSeeder::class,
OnboardingChecklistSeeder::class,
ChecklistItemSeeder::class,
CandidateOnboardingSeeder::class,
// Contract Management Seeders
ContractTypeSeeder::class,
EmployeeContractSeeder::class,
ContractRenewalSeeder::class,
ContractTemplateSeeder::class,
// // Document Management Seeders
DocumentCategorySeeder::class,
HrDocumentSeeder::class,
DocumentAcknowledgmentSeeder::class,
DocumentTemplateSeeder::class,
// // Meeting Management Seeders
MeetingTypeSeeder::class,
MeetingRoomSeeder::class,
MeetingSeeder::class,
MeetingAttendeeSeeder::class,
MeetingMinuteSeeder::class,
ActionItemSeeder::class,
// Leave management Seeders
LeaveTypeSeeder::class,
LeavePolicySeeder::class,
LeaveApplicationSeeder::class,
LeaveBalanceSeeder::class,
// // Attendance Management Seeders
ShiftSeeder::class,
AttendancePolicySeeder::class,
AttendanceRecordSeeder::class,
AttendanceRegularizationSeeder::class,
// // Time Tracking Seeders
TimeEntrySeeder::class,
// // Payroll Management Seeders
SalaryComponentSeeder::class,
EmployeeSalarySeeder::class,
PayrollRunSeeder::class,
// PayslipSeeder::class,
ContactSeeder::class,
NewsletterSeeder::class,
NocTemplateSeeder::class,
JoiningLetterTemplateSeeder::class,
// User and business seeders
//CompanySeeder::class,
//StaffRoleSeeder::class,
// Business-related seeders
//ContactSeeder::class,
//MediaItemSeeder::class,
// System configuration seeders
//CouponSeeder::class,
//PlanOrderSeeder::class,
//PlanRequestSeeder::class,
//ReferralSettingSeeder::class,
// New seeders
//ReferralSeeder::class,
//PayoutRequestSeeder::class,
//WebhookSeeder::class,
]);
} else {
$this->call([
PermissionSeeder::class,
RoleSeeder::class,
PlanSeeder::class,
DefaultSuperAdminSeeder::class,
DefaultCompanySeeder::class,
DefaultCompanyUserSeeder::class,
CurrencySeeder::class,
EmailTemplateSeeder::class,
LandingPageCustomPageSeeder::class,
NocTemplateSeeder::class,
JoiningLetterTemplateSeeder::class,
ExperienceCertificateTemplateSeeder::class,
]);
}
}
}