Pular para o conteúdo principal

Perguntas frequentes

Respostas curtas para dúvidas comuns sobre configuração, geração, armazenamento, formatos e memória.

O Laravel Feeds exporta milhões de registros?

Sim. O pacote lê resultados do Eloquent em lotes e grava a saída gradualmente. Mantenha builder() lazy, não chame get() nem toArray() no resultado completo e ajuste chunkSize() depois de medir memória e carga do banco.

Veja desempenho com grandes conjuntos de dados.

Qual formato devo usar?

Use o contrato exigido pelo consumidor. XML e RSS aceitam diretivas hierárquicas, JSON preserva dados aninhados, JSON Lines serve ao processamento por linha e CSV exige um esquema estável de colunas.

Veja formatos compatíveis.

Um feed pode criar vários arquivos?

Sim, mas escolha o mecanismo de acordo com o motivo pelo qual os arquivos são diferentes:

  • Use perFile() e, opcionalmente, maxFiles() para dividir um conjunto de dados em partes sequenciais com uma quantidade fixa de registros.
  • Use alvos de feed para criar uma saída filtrada separada para cada parceiro, loja, localidade ou outra chave de negócio.
  • Combine os dois mecanismos quando a saída de cada parceiro também puder precisar de várias partes por quantidade de registros.

Veja a receita de vários arquivos de feed por alvo para um exemplo completo.

Posso armazenar feeds no S3 ou em outro disco remoto?

Sim, quando o disco Laravel configurado resolve para um FilesystemAdapter gravável. Movimentos remotos podem ser implementados por cópia e exclusão; a substituição atômica não é garantida.

Veja discos compatíveis.

Por que um feed desativado foi executado?

Passar um ID para feed:generate executa o feed mesmo quando seu registro está inativo. Sem ID, o comando ignora registros inativos.

Veja geração de um feed individual.

Como omitir um campo opcional?

Retorne DragonCode\LaravelFeed\Data\OptionalData ou Spatie\LaravelData\Optional como valor. CSV mantém a coluna e grava um valor vazio; formatos de objeto e XML omitem o campo.

Veja valores opcionais.

Veja também