From 704d1225e64b857327ad81cd8e58e13588489ba6 Mon Sep 17 00:00:00 2001 From: lizhuoran <625237490@qq.com> Date: Thu, 12 Mar 2026 13:21:02 +0800 Subject: [PATCH] =?UTF-8?q?fix(seeder):=20=E4=BF=AE=E5=A4=8D=20DatabaseSee?= =?UTF-8?q?der=20=E5=92=8C=20SopTemplateSeeder=20=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DatabaseSeeder 添加 PermissionSeeder 调用,确保权限系统正确初始化 - 为所有演示用户分配相应角色(super-admin, admin, user) - 修复 SopTemplateSeeder 中被截断的正则表达式 - 更新测试账号信息,显示用户角色 - 验证所有 seeder 正常执行,数据创建成功 --- database/seeders/DatabaseSeeder.php | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 3e7b9be..df676e6 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -20,42 +20,52 @@ class DatabaseSeeder extends Seeder { $this->command->info('开始生成演示数据...'); - // 0. 创建系统设置 + // 0. 创建权限和角色(必须最先执行) + $this->call(PermissionSeeder::class); + + // 1. 创建系统设置 $this->call(SystemSettingSeeder::class); - // 1. 创建管理员用户 + // 2. 创建管理员用户 $this->command->info('创建管理员用户...'); $admin = User::factory()->create([ 'name' => '系统管理员', 'email' => 'admin@example.com', 'password' => Hash::make('password'), ]); + + // 为管理员分配 super-admin 角色 + $admin->assignRole('super-admin'); - // 2. 创建普通用户 + // 3. 创建普通用户 $this->command->info('创建普通用户...'); $user1 = User::factory()->create([ 'name' => '张三', 'email' => 'zhangsan@example.com', 'password' => Hash::make('password'), ]); + $user1->assignRole('user'); $user2 = User::factory()->create([ 'name' => '李四', 'email' => 'lisi@example.com', 'password' => Hash::make('password'), ]); + $user2->assignRole('user'); $user3 = User::factory()->create([ 'name' => '王五', 'email' => 'wangwu@example.com', 'password' => Hash::make('password'), ]); + $user3->assignRole('admin'); $user4 = User::factory()->create([ 'name' => '赵六', 'email' => 'zhaoliu@example.com', 'password' => Hash::make('password'), ]); + $user4->assignRole('user'); // 3. 创建分组 $this->command->info('创建分组...'); @@ -219,10 +229,10 @@ class DatabaseSeeder extends Seeder $this->command->info(' - 专用文档: ' . Document::dedicated()->count()); $this->command->newLine(); $this->command->info('=== 测试账号信息 ==='); - $this->command->info('管理员: admin@example.com / password'); - $this->command->info('张三(技术部): zhangsan@example.com / password'); - $this->command->info('李四(技术部): lisi@example.com / password'); - $this->command->info('王五(市场部): wangwu@example.com / password'); - $this->command->info('赵六(人力资源部): zhaoliu@example.com / password'); + $this->command->info('超级管理员: admin@example.com / password (super-admin)'); + $this->command->info('张三(技术部): zhangsan@example.com / password (user)'); + $this->command->info('李四(技术部): lisi@example.com / password (user)'); + $this->command->info('王五(市场部): wangwu@example.com / password (admin)'); + $this->command->info('赵六(人力资源部): zhaoliu@example.com / password (user)'); } }