Artisan príkazy
tags:types
php artisan tags:types # Name, Label, Hierarchy, Max, Creation, Slugs, Scopes, Models, API, Source, Overrides
php artisan tags:types --jsonKaždý typ, jeho pravidlá, kde bol definovaný a čo ho upravilo (pozrite Typy štítkov).
tags:doctor
Kontroly len na čítanie pre všetko, v čom sa dáta alebo nastavenie môžu rozchádzať a čo by zápis neodhalil. Každé zistenie má závažnosť (error alebo warning), sekciu a zrozumiteľné hlásenie; príkaz skončí kódom 1, ak je niektoré zistenie chybou:
php artisan tags:doctor # every check; exits 1 when any finding is an error
php artisan tags:doctor --counts # also compare every usage count with its taggings
php artisan tags:doctor --json # [{"severity": "error", "section": "locales", "message": "…"}]| Sekcia | Úroveň | Kontroluje |
|---|---|---|
types | error | Štítky typu, ktorý nikto nedefinuje; extend() či override názvu, ktorý nikto nedefinuje; typ, ktorý sa nedá vyhodnotiť. |
limits | error | Modely s viac štítkami typu, než je jeho limit. |
trees | error / warning | Rodičia na plochom type, štítky hlbšie, než dovoľuje maximálna hĺbka typu (znížený limit existujúce dáta neprepíše), cesta či hĺbka nesúhlasiaca s rodičmi, cykly rodičov (parent_id opravte ručne); živé štítky pod zmazaným rodičom (upozornenie). |
scopes | error / warning | Kľúč rozsahu nesúhlasiaci s rozsahom; modely, ktorých tagScope() nie je uložený model s kľúčom typu tags.key_type; priradenia mimo aktuálneho tagScope() modelu — najbližší sync daného typu ich odstráni (upozornenie). |
indexes | error | Podporovaný jazyk bez unikátneho indexu slugov. |
locales | error / warning | Jazyk aplikácie mimo translatable.locales — označovanie podľa názvu zlyhá, kým ho nepridáte; záložný jazyk mimo neho (upozornenie). |
keys, connections | error / warning | Model so štítkami či model rozsahu s iným kľúčom než tags.key_type; model na inom databázovom spojení ako tabuľky štítkov (upozornenie). |
counts | warning | S --counts: počty použití nesúhlasiace s priradeniami. |
orphans, trashed | warning / error | Priradenia, ktorých model už neexistuje (upozornenie); priradenia na zmazaných štítkoch a typy modelov, ktoré nie sú triedou modelu (chyby). |
routes | warning | JSON API zapnuté bez auth middleware. |
Spúšťajte ho po veľkých importoch či zmenách nastavení a v CI po migrácii. Priradenia prechádza po dávkach, takže je bezpečný aj na veľkej živej databáze.
tags:repair
Uvedie odvodené dáta do súladu so skutočnosťou — všetky štyri opravy, ak voľby nevyberú len niektoré:
php artisan tags:repair # paths, scope keys, orphans and counts
php artisan tags:repair --counts --type=label # only usage counts of one type
php artisan tags:repair --orphans --dry-run # report what would be fixed, write nothing
php artisan tags:repair --paths --scope-keys| Voľba | Význam |
|---|---|
--paths | Prepočíta cesty a hĺbky z reťaze rodičov, strom po strome pod jeho zámkom; cykly sa spočítajú, nikdy nepreskladajú. |
--scope-keys | Prepočíta kľúče rozsahu z morph vzťahu rozsahu. |
--orphans | Zmaže priradenia, ktorých model už neexistuje (hromadné mazanie), a prepočíta počty použití dotknutých štítkov, takže samotné --orphans ich nechá presné; a priradenia na zmazaných štítkoch (obyčajné $tag->delete()), ktorým vynuluje počty. |
--counts | Prepočíta počty použití z priradení, po dávkach pod zámkami riadkov — presne aj počas súbežného označovania. |
--type= | Len štítky tohto typu. |
--dry-run | Vypíše, čo by sa opravilo; nič nezapíše ani nezamkne. |
Vypíše, čo opravil (alebo by opravil): cesty, cykly (ponechané), kľúče rozsahu, osirotené priradenia, priradenia na zmazaných štítkoch a počty použití, a upozorní na priradenia typu modelu, ktorý nie je triedou modelu — tie nechá tak. Tá istá oprava z PHP:
use RoundlyConsulting\Tags\DataTransferObjects\RepairOptions;
$report = Tags::repair(new RepairOptions(paths: false, scopeKeys: false, type: 'label', dryRun: true));
$report->counts; // tags whose usage count was (or would be) off
$report->orphans; // taggings whose model is gone
$report->trashedTaggings; // taggings left on deleted tags
$report->unresolvableTypes; // taggable types that are no model class
$report->isClean();Do plánovača sa nič nepridáva; balík žiadnu plánovanú úlohu nepotrebuje.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.