---
title: "Inštalácia — Approvals for Laravel | Roundly"
description: "Nainštalujte cez Composer, publikujte a spustite sedem migrácií určených na publikovanie a voliteľne publikujte konfiguráciu."
url: https://roundly-consulting.com/sk/open-source/navody/approvals-for-laravel/instalacia
language: sk
---

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

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

# Inštalácia

Pridajte balík. Service provider, alias fasády Approvals aj globálny pomocník approvals() sa načítajú automaticky — nič nemusíte registrovať:

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

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

## Migrácie iba na publikovanie

Migrácie sa nenačítavajú automaticky — php artisan migrate nevytvorí nič, kým ich nepublikujete. Sedem súborov sa uloží do database/migrations s časovými značkami, ktoré zachovajú ich poradie, takže migrate vytvorí štyri tabuľky a každú zmenu schémy aplikuje až po tabuľke, ktorú upravuje:

| # | Migrácia | Čo robí |
| --- | --- | --- |
| 1 | `0001_create_approvals_table` | Tabuľka rozhodnutí approvals. |
| 2 | `0002_create_approval_requests_table` | Žiadosti pre viacerých schvaľovateľov approval\_requests. |
| 3 | `0003_add_v11_columns_to_approvals_table` | Pridá decided\_by (delegovanie), weight a approval\_request\_stage\_id. |
| 4 | `0004_add_staging_to_approval_requests_table` | Pridá staged, reject\_on\_stage\_rejection a workflow. |
| 5 | `0005_create_approval_request_stages_table` | Tabuľka approval\_request\_stages pre viacstupňové schvaľovanie. |
| 6 | `0006_create_approval_delegations_table` | Tabuľka approval\_delegations. |
| 7 | `0007_change_approval_request_id_to_bigint` | Na PostgreSQL s key\_type uuid zmení approvals.approval\_request\_id na bigint; inde nerobí nič. |

Používajú modely, ktoré schvaľujú alebo sú schvaľované, UUID či ULID kľúče? Pred migráciou nastavte key\_type — určuje typ všetkých polymorfných id stĺpcov (pozri Modely a schéma).

## Prechod z verzie 1.0.0

Verzia 1.0.1 pridáva migráciu 0007. Publikujte ju — migrácie, ktoré ste už publikovali, zostanú nezmenené — a spustite migrate. Účinok má len na PostgreSQL s key\_type uuid, kde vo verzii 1.0.0 zlyhalo každé rozhodnutie v žiadosti; inde nerobí nič:

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

## MySQL: migrate zlyhal so SQLSTATE 1071

Do verzie 1.1.0 migrácia 0001\_create\_approvals\_table na MySQL 8 s utf8mb4 zlyhala (SQLSTATE 1071, „Specified key was too long; max key length is 3072 bytes“): jej index approvals\_actor\_approvable\_status\_index mal 3076 bajtov. Verzia 1.1.1 migráciu opravuje priamo — index teraz pokrýva actor\_id, actor\_type, approvable\_id a approvable\_type a status má vlastný index. MySQL zmeny schémy nevracia späť, takže neúspešný beh po sebe nechal prázdnu tabuľku approvals. Postup obnovy: aktualizujte balík, publikujte migrácie znova cez svoje kópie, túto tabuľku zmažte a spustite migrate:

```bash
composer update roundly-consulting/approvals-for-laravel
php artisan vendor:publish --tag="approvals-migrations" --force
php artisan db                   # then: DROP TABLE approvals;  (empty, left by the failed run)
php artisan migrate
```

Ostatné inštalácie — PostgreSQL alebo MySQL s utf8mb3, kde stará 0001 prebehla — nemusia robiť nič. Ponechajú si päťstĺpcový index s rovnakým názvom, ktorý slúži tým istým dopytom, a žiadna neskoršia migrácia sa ho nedotkne.

## Konfigurácia (voliteľná)

Balík funguje bez akejkoľvek konfigurácie v aplikácii. Konfiguráciu publikujte, len keď chcete zmeniť niektorú predvolenú hodnotu:

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

Jediné publikačné tagy sú approvals-migrations a approvals-config — balík nemá vlastné views ani preklady.

## Ďalšie kroky

- Pridajte GivesApprovals na model, ktorý rozhoduje, a HasApprovals na model, o ktorom sa rozhoduje.
- Pridajte RequiresApproval na všetko, čo potrebuje súhlas viacerých schvaľovateľov.
- Zaznamenajte prvé rozhodnutie cez fasádu Approvals.

## 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/approvals-for-laravel.md)
