Všetky balíky
Lifecycle for Laravel
Artisan príkazy
Sedem príkazov pokrýva generovanie, spúšťanie, kontrolu aj údržbu cyklov:
| Príkaz | Čo robí |
|---|---|
make:lifecycle {name} {--enum=} {--force} | Vygeneruje triedu definície v App\Lifecycles: malý platný príklad alebo prípady backed enumu ako stavy (začína v prvom prípade). Cez vendor:publish --tag=lifecycle-stubs si stuby upravíte. |
lifecycle:sweep {--limit=} {--queue} {--no-warnings} {--database=} | Pošle splatné upozornenia a spustí splatné expirácie a naplánované prechody v tabuľkách balíka jedného pripojenia (predvoleného alebo z --database). Isolatable. |
lifecycle:graph {definition} {--format=mermaid|dot} {--output=} | Vypíše alebo zapíše graf. definition je trieda definície alebo Model:atribút (názov triedy alebo morph alias). Cesta v --output, do ktorej nemôže zapisovať, skončí kódom 1. |
lifecycle:validate {definition?*} {--strict} | Vypíše každú chybu a varovanie; pri Model:atribút overí aj existenciu menovaných stĺpcov a to, že sa kľúče rate limitov zmestia do 250 znakov (rate_limit_key_too_long). Bez argumentov: každý cyklus každého modelu v lifecycle.subjects. Upozorní, keď má definícia expirácie alebo systémové prechody, ale lifecycle:sweep nie je naplánovaný — pri modeli na inom pripojení lifecycle:sweep --database=<pripojenie>. |
lifecycle:show {subject} {id} {--lifecycle=} {--history=10} | Stav jedného subjektu, čas vstupu, verzia, zmrazenie, expirácia, čo by mohol systém urobiť ďalej a nedávna história. Stĺpec cyklu s hodnotou NULL zobrazí ako neinicializovaný. |
lifecycle:adopt {model} {--lifecycle=} {--chunk=500} {--no-expiry} | Zosúladí všetky riadky modelu (chýbajúce záznamy, drift, stavy NULL). |
lifecycle:prune {--history-days=} {--schedule-days=} {--dry-run} {--database=} | Zmaže staré riadky histórie a dokončené plány (predvolené hodnoty z konfigurácie); --database vyčistí tabuľky balíka na inom pripojení. |
php artisan make:lifecycle ListingLifecycle --enum="App\Enums\ListingStatus"
php artisan lifecycle:sweep --limit=1000 --queue
php artisan lifecycle:sweep --database=tenant
php artisan lifecycle:validate --strict
php artisan lifecycle:show "App\Models\Listing" 42 --history=20
php artisan lifecycle:adopt "App\Models\Order" --no-expiry
php artisan lifecycle:prune --history-days=365 --schedule-days=30 --dry-run- Argumenty subject a model sa najprv hľadajú vo vašom morph mape, potom ako názov triedy, a musia označovať model s LifecycleSubject.
- lifecycle:sweep patrí do plánovača, každú minútu — raz pre každé databázové pripojenie, ktoré vaše subjekty používajú (--database). Podporuje izoláciu a vypíše SweepResult. Sweep naplánovaný ako closure alebo job about aj lifecycle:validate rozpoznajú, ak má názov lifecycle:sweep.
- lifecycle:validate skončí s kódom 1 pri chybách — alebo s --strict pri varovaniach, keď nie je čo validovať, či keď definícia potrebuje lifecycle:sweep, ale ten nie je naplánovaný. Spúšťajte ho v CI.
- lifecycle:adopt preskočí soft-deleted riadky a dá sa spúšťať opakovane. S --no-expiry nedostanú prevzaté stavy s TTL žiadny plán expirácie — užitočné pri veľkej starej tabuľke, ktorá by inak expirovala pri najbližšom sweepe.
- lifecycle:prune --dry-run len počíta. Ak nie je nič nakonfigurované, nič sa nečistí.
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.