---
title: "Inštalácia — Lifecycle for Laravel | Roundly"
description: "Inštalácia cez Composer, voľba typov kľúčov, publikovanie migrácií a naplánovanie sweepu, keď stavy expirujú alebo plánujete prechody."
url: https://roundly-consulting.com/sk/open-source/navody/lifecycle-for-laravel/instalacia
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Lifecycle for Laravel](https://roundly-consulting.com/sk/open-source/navody/lifecycle-for-laravel.md)

# Inštalácia

Pridajte balík. Service provider aj alias fasády Lifecycles sa zaregistrujú automaticky:

```bash
composer require roundly-consulting/lifecycle-for-laravel
```

Migrácie vytvárajú polymorfné stĺpce pre subjekt a aktéra. Ak vaše modely (alebo používatelia) používajú kľúče UUID či ULID, nastavte typy kľúčov ešte pred migráciou — všetky subjekty zdieľajú jeden typ kľúča a rovnako aj všetci aktéri:

```bash
LIFECYCLE_KEY_TYPE=uuid          # your models with a lifecycle: bigint (default), uuid or ulid
LIFECYCLE_ACTOR_KEY_TYPE=bigint  # your users
```

Na veľkosti písmen nezáleží a prázdna hodnota sa považuje za nenastavenú, takže sa číta ako bigint. Akákoľvek iná hodnota vyhodí pri spustení migrácií InvalidConfigurationException z toolkitu, ešte pred vytvorením akejkoľvek tabuľky.

Publikujte a spustite migrácie. Len sa publikujú — balík ich sám nikdy nenačítava — a sú len dopredné:

```bash
php artisan vendor:publish --tag="lifecycle-migrations"
php artisan migrate
```

Voliteľne publikujte konfiguračný súbor a preklady (angličtina a slovenčina sú súčasťou balíka):

```bash
php artisan vendor:publish --tag="lifecycle-config"
php artisan vendor:publish --tag="lifecycle-translations"
```

## Stĺpce životného cyklu

Atribút cyklu je obyčajný reťazcový (alebo celočíselný) stĺpec vo vašej tabuľke; balík pridá vlastné tabuľky pre záznamy stavu, históriu, plány a zámky kvót. Stĺpec pridajte migráciou:

```php
Schema::table('listings', function (Blueprint $table): void {
    $table->string('status', 64)->nullable()->index();   // int-backed enum: unsignedSmallInteger
});
```

Predvolená hodnota v databáze nie je potrebná: nový model začína v počiatočnom stave. Stĺpec indexujte spolu so stĺpcami scope kvót, napríklad $table->index(\['status', 'user\_id'\]), a model uveďte v lifecycle.subjects, aby ho lifecycle:validate kontroloval.

## Naplánovanie sweepu

Ak má niektorý stav TTL alebo plánujete prechody, spúšťajte sweep každú minútu. Čistenie je voliteľné:

```php
// routes/console.php
use Illuminate\Support\Facades\Schedule;

Schedule::command('lifecycle:sweep')->everyMinute();
Schedule::command('lifecycle:prune')->daily();
```

lifecycle:sweep podporuje izoláciu (--isolated zabráni súbežným behom na viacerých serveroch) a aj dva súbežné sweepy sú bezpečné: každý plán sa spustí najviac raz.

Balík zapisuje svoje riadky na vlastnom pripojení každého subjektu a jeden sweep spracuje tabuľky balíka jedného pripojenia. Modely na inom ako predvolenom pripojení potrebujú sweep aj pre toto pripojenie:

```php
// models on another database connection: one sweep per connection
Schedule::command('lifecycle:sweep --database=tenant')->everyMinute();
```

## Kontrola inštalácie

```bash
php artisan about                 # the "Lifecycle" section
php artisan lifecycle:validate    # every lifecycle of every model in lifecycle.subjects
```

php artisan about zobrazí sekciu Lifecycle — typy kľúčov, striktné zápisy, používané modely, frontované sweepy, či je lifecycle:sweep naplánovaný (pre predvolené pripojenie), a čistenie histórie. lifecycle:validate upozorní, keď definícia sweep potrebuje, ale nie je naplánovaný, a overí sweep vlastného pripojenia každého uvedeného modelu. Sweep naplánovaný ako closure alebo job sa rozpozná, ak má názov lifecycle:sweep (->name('lifecycle:sweep')); pri nepomenovanej closure je odpoveď neznáma.

Balík vystavuje publish tagy lifecycle-migrations, lifecycle-config, lifecycle-translations a lifecycle-stubs (stuby pre make:lifecycle).

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

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

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/lifecycle-for-laravel.md)
