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.
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.
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.