DatabaseSeeder.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace Database\Seeders;
  3. use App\Models\Article;
  4. use App\Models\Config;
  5. use App\Models\Country;
  6. use App\Models\EmailFilter;
  7. use App\Models\Label;
  8. use App\Models\Level;
  9. use App\Models\Rule;
  10. use App\Models\SsConfig;
  11. use App\Models\User;
  12. use App\Utils\Helpers;
  13. use Illuminate\Database\Seeder;
  14. use Spatie\Permission\Models\Role;
  15. class DatabaseSeeder extends Seeder
  16. {
  17. /**
  18. * Seed the application's database.
  19. */
  20. public function run(): void
  21. {
  22. if (Config::doesntExist()) {
  23. $this->call(ConfigSeeder::class);
  24. }
  25. if (Level::doesntExist()) {
  26. $this->call(LevelSeeder::class);
  27. }
  28. if (Role::doesntExist()) {
  29. $this->call(RBACSeeder::class);
  30. }
  31. if (User::doesntExist()) {
  32. // 生成初始管理账号
  33. $user = Helpers::addUser('[email protected]', '123456', 100 * GiB, (int) sysConfig('default_days'), null, '管理员');
  34. $user->update(['status' => 1]);
  35. $user->assignRole('Super Admin');
  36. }
  37. if (Country::doesntExist()) {
  38. $this->call(CountrySeeder::class);
  39. }
  40. if (Label::doesntExist()) {
  41. $this->call(LabelSeeder::class);
  42. }
  43. if (Rule::doesntExist()) {
  44. $this->call(RuleSeeder::class);
  45. }
  46. if (SsConfig::doesntExist()) {
  47. $this->call(SsConfigSeeder::class);
  48. }
  49. if (EmailFilter::doesntExist()) {
  50. $this->call(EmailFilterSeeder::class);
  51. }
  52. if (Article::doesntExist()) {
  53. $this->call(ArticleSeeder::class);
  54. }
  55. }
  56. }