alert('This seeder is not allowed in staging environments.'); return 0; } $driver = Config::get('scout.driver'); if (blank($driver)) { $this->error('No driver configured for Scout. Skipping models importing.'); return 0; } if ($this->option('flush')) { $this->scoutFlush(Playlist::class); $this->scoutFlush(Anime::class); $this->scoutFlush(AnimeTheme::class); $this->scoutFlush(AnimeThemeEntry::class); $this->scoutFlush(Artist::class); $this->scoutFlush(Series::class); $this->scoutFlush(Song::class); $this->scoutFlush(Studio::class); $this->scoutFlush(Video::class); } $this->scoutImport(Playlist::class); $this->scoutImport(Anime::class); $this->scoutImport(AnimeTheme::class); $this->scoutImport(AnimeThemeEntry::class); $this->scoutImport(Artist::class); $this->scoutImport(Series::class); $this->scoutImport(Song::class); $this->scoutImport(Studio::class); $this->scoutImport(Video::class); return 1; } /** * Call the scout import command for the given model. * * @param class-string $modelClass */ private function scoutImport(string $modelClass): void { $this->info("Importing Models for {$modelClass}"); $this->call('scout:import', ['model' => $modelClass]); } /** * Call the scout flush command for the given model. * * @param class-string $modelClass */ private function scoutFlush(string $modelClass): void { $this->info("Flushing Models for {$modelClass}"); $this->call('scout:flush', ['model' => $modelClass]); } protected function validator(): Validator { return ValidatorFacade::make($this->options(), [ 'flush' => ['boolean'], ]); } }