Aller au contenu principal

Questions fréquentes

Réponses courtes aux questions courantes sur la configuration, la génération, le stockage, les formats et la mémoire.

Laravel Feeds peut-il exporter des millions d’enregistrements ?

Oui. Le paquet lit les résultats Eloquent par lots et écrit progressivement. Gardez builder() lazy, n’appelez pas get() ou toArray() sur le résultat complet et ajustez chunkSize() après avoir mesuré la mémoire et la charge de la base.

Consultez les performances sur les grands jeux de données.

Quel format choisir ?

Utilisez le contrat demandé par le consommateur. XML et RSS gèrent les directives hiérarchiques, JSON conserve les données imbriquées, JSON Lines convient au traitement ligne par ligne et CSV exige un schéma de colonnes stable.

Consultez les formats pris en charge.

Un flux peut-il créer plusieurs fichiers ?

Oui, mais choisissez le mécanisme selon la raison pour laquelle les fichiers diffèrent :

  • Utilisez perFile() et éventuellement maxFiles() pour fractionner un jeu de données en parties séquentielles contenant chacune un nombre fixe d’enregistrements.
  • Utilisez les cibles de flux pour créer une sortie filtrée distincte pour chaque partenaire, boutique, paramètre régional ou autre clé métier.
  • Combinez les deux mécanismes lorsque la sortie de chaque partenaire peut elle aussi nécessiter plusieurs parties selon le nombre d’enregistrements.

Consultez la recette « Plusieurs fichiers de flux ciblés » pour un exemple complet.

Puis-je stocker les flux sur S3 ou un autre disque distant ?

Oui, si le disque Laravel configuré se résout en FilesystemAdapter accessible en écriture. Un déplacement distant peut être une copie suivie d’une suppression ; le remplacement atomique n’est donc pas garanti.

Consultez les disques pris en charge.

Pourquoi un flux désactivé a-t-il été exécuté ?

Transmettre un identifiant à feed:generate exécute ce flux même si son enregistrement est inactif. Sans identifiant, la commande ignore les enregistrements inactifs.

Consultez la génération d’un flux unique.

Comment omettre un champ facultatif ?

Renvoyez DragonCode\LaravelFeed\Data\OptionalData ou Spatie\LaravelData\Optional comme valeur. CSV conserve la colonne avec une valeur vide ; les formats d’objet et XML omettent le champ.

Consultez les valeurs facultatives.

Voir aussi