File "SchoolInstallationSeeder.php"
Full Path: /home/trinadezambia/public_html/demo-school-management.trinadezambia.com/database/seeders/SchoolInstallationSeeder.php
File size: 1.09 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Database\Seeders;
use App\Models\School;
use App\Services\SchoolDataService;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\DB;
class SchoolInstallationSeeder extends Seeder
{
/**
* Run the database seeds.
*/
private SchoolDataService $schoolService;
public function __construct(SchoolDataService $schoolService) {
$this->schoolService = $schoolService;
}
public function run(): void
{
//
$schools = School::on('mysql')->withTrashed()->get();
foreach ($schools as $key => $school) {
Config::set('database.connections.school.database', $school->database_name);
DB::purge('school');
DB::connection('school')->reconnect();
DB::setDefaultConnection('school');
$this->schoolService->createPermissions();
$this->schoolService->createSchoolAdminRole($school);
$this->schoolService->createTeacherRole($school);
}
}
}