namespace BookStack\Console\Commands;
-use BookStack\Services\SearchService;
+use BookStack\Entities\SearchService;
use Illuminate\Console\Command;
class RegenerateSearch extends Command
*
* @var string
*/
- protected $signature = 'bookstack:regenerate-search';
+ protected $signature = 'bookstack:regenerate-search {--database= : The database connection to use.}';
/**
* The console command description.
*
* @var string
*/
- protected $description = 'Command description';
+ protected $description = 'Re-index all content for searching';
protected $searchService;
/**
* Create a new command instance.
*
- * @param SearchService $searchService
+ * @param \BookStack\Entities\SearchService $searchService
*/
public function __construct(SearchService $searchService)
{
*/
public function handle()
{
+ $connection = \DB::getDefaultConnection();
+ if ($this->option('database') !== null) {
+ \DB::setDefaultConnection($this->option('database'));
+ $this->searchService->setConnection(\DB::connection($this->option('database')));
+ }
+
$this->searchService->indexAllEntities();
+ \DB::setDefaultConnection($connection);
+ $this->comment('Search index regenerated');
}
}