Частыя пытанні
Кароткія адказы на частыя пытанні пра наладжванне, генерацыю, сховішча, фарматы і памяць.
Ці можа Laravel Feeds экспартаваць мільёны запісаў?
Так. Пакет чытае вынікі Eloquent блокамі і запісвае вывад паступова. Пакідайце builder() лянівым, не выклікайце get() або toArray() для ўсяго выніку і наладжвайце chunkSize() пасля вымярэння памяці і нагрузкі на базу даных.
Глядзіце прадукцыйнасць на вялікіх наборах даных.
Які фармат выбраць?
Выкарыстоўвайце кантракт, якога патрабуе спажывец. XML і RSS падтрымліваюць іерархічныя дырэктывы, JSON захоўвае ўкладзеныя даныя, JSON Lines падыходзіць для апрацоўкі па радках, а CSV патрабуе стабільнай схемы слупкоў.
Глядзіце падтрыманыя фарматы.
Ці можа адна стужка стварыць некалькі файлаў?
Так, але выбірайце механізм паводле таго, чаму файлы адрозніваюцца:
- Выкарыстоўвайце
perFile()і, пры неабходнасці,maxFiles(), каб падзяліць адзін набор даных на паслядоўныя часткі з фіксаванай колькасцю запісаў. - Выкарыстоўвайце мэты стужкі, каб ствараць асобны адфільтраваны вынік для кожнага партнёра, крамы, лакалі або іншага бізнес-ключа.
- Спалучайце абодва механізмы, калі вынік кожнага партнёра таксама можа складацца з некалькіх частак паводле колькасці запісаў.
Поўны прыклад глядзіце ў рэцэпце некалькіх мэтавых файлаў стужкі.
Ці можна захоўваць стужкі ў S3 або на іншым аддаленым дыску?
Так, калі наладжаны дыск Laravel вяртае даступны для запісу FilesystemAdapter. Аддаленае перамяшчэнне можа быць рэалізавана як капіяванне і выдаленне, таму атамарная замена не гарантуецца.
Глядзіце падтрыманыя дыскі.
Чаму адключаная стужка была выканана?
Перадача ідэнтыфікатара стужкі ў feed:generate запускае яе нават пры неактыўнай рэгістрацыі. Каманда без ідэнтыфікатара прапускае неактыўныя рэгістрацыі.
Глядзіце генерацыю адной стужкі.
Як прапусціць неабавязковае поле?
Вярніце для поля DragonCode\LaravelFeed\Data\OptionalData або Spatie\LaravelData\Optional. CSV захоўвае слупок і запісвае пустое значэнне; аб'ектныя фарматы і XML прапускаюць поле.
Глядзіце неабавязковыя значэнні.