NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
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 kryptomien

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