info('Reindexation de la base médias dans Elasticsearch...'); $this->info('ES: Test présence index...'); if (Media::indexExists()) { $this->info('ES: Suppression index...'); Media::deleteIndex(); } $this->info('ES: Création index...'); Media::createIndex(); $pageNumber = 0; $perPage = 200; /** @var \Illuminate\Pagination\LengthAwarePaginator $mediaCollection */ $mediaCollection = Media::paginate($perPage); if (!$mediaCollection->total()) { $this->info('Pas de medias'); } $bar = $this->output->createProgressBar(count($mediaCollection)); $bar->start($mediaCollection->total()); // * LOOP do { if ($pageNumber > 0) { /** @var \Illuminate\Pagination\LengthAwarePaginator $mediaCollection */ $mediaCollection = Media::paginate($perPage, ['*'], 'page', $pageNumber); } /** @var \App\Models\Media $media */ foreach ($mediaCollection->getCollection() as $media) { /** @throws \RuntimeException */ $media->addToElasticSearch(); $bar->advance(); } ++$pageNumber; } while ($mediaCollection->hasMorePages()); $bar->finish(); $this->newLine(); $this->info('Fin du traitement'); } }