Files
star-erp/database/seeders/TenantDatabaseSeeder.php

46 lines
1.1 KiB
PHP
Raw Normal View History

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Modules\Core\Models\User;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
/**
* 租戶資料庫專用 Seeder
*
* 建立新租戶時會自動執行此 Seeder負責
* 1. 建立預設的超級管理員帳號
* 2. 設定權限與角色
*/
class TenantDatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
// 建立預設管理員帳號
$admin = User::firstOrCreate(
['username' => 'admin'],
[
'name' => '系統管理員',
'email' => 'admin@example.com',
'password' => 'password',
]
);
// 呼叫權限 Seeder 設定權限與角色
$this->call(PermissionSeeder::class);
// 初始化基本單位資料
$this->call(UnitSeeder::class);
// 確保 admin 擁有 super-admin 角色
if (!$admin->hasRole('super-admin')) {
$admin->assignRole('super-admin');
}
}
}