---
title: "Databázová schéma a typy kľúčov — Reviews for Laravel | Roundly"
description: "Tabuľky reviews a review_votes, ich stĺpce a indexy a to, ako key_type podporuje modely s UUID a ULID."
url: https://roundly-consulting.com/sk/open-source/navody/reviews-for-laravel/databazova-schema
language: sk
---

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

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

# Databázová schéma a typy kľúčov

Balík používa dve tabuľky. V reviews — tabuľke nakonfigurovaného reviews.model — sú recenzie aj odpovede vlastníka:

| Stĺpec | Typ | Poznámka |
| --- | --- | --- |
| `id` | bigint | Autoinkrementálny primárny kľúč. |
| `parent_id` | bigint, nullable | Cudzí kľúč na tú istú tabuľku — nastavený pri odpovediach vlastníka. Po migrácii cascade\_review\_responses\_on\_delete sa pri zmazaní kaskáduje (predtým sa nastavil na null). |
| `reviewable_type / reviewable_id` | morph, nullable | Predmet recenzie; typ id určuje key\_type. |
| `author_type / author_id` | morph, nullable | Autor; typ id určuje key\_type. |
| `rating` | unsigned tinyint, nullable, index | null = recenzia len s textom alebo odpoveď. |
| `status` | string, index | pending, approved alebo rejected; predvolene pending. |
| `verified` | boolean, index | Overený nákup / recenzent; predvolene false. |
| `title` | string, nullable | Voliteľný nadpis. |
| `content` | text, nullable | Voliteľný text — recenzia len s hviezdičkami ho nemá. |
| `meta` | jsonb, nullable | Ľubovoľné metadáta ako Collection; obsahuje rejection\_reason. |
| `helpful_count / unhelpful_count` | unsigned int | Denormalizované počty hlasov; predvolene 0. |
| `approved_at` | timestamp, nullable | Nastaví sa pri schválení, vymaže pri zamietnutí. |
| `created_at / updated_at / deleted_at` | timestamps | Recenzie sa mažú mäkko (soft delete). |

Zložený index (reviewable\_type, reviewable\_id, status) obsluhuje agregačné dopyty pre jeden predmet. Stĺpec rating je unsigned tiny integer, preto max\_rating nenastavujte nad 255.

Nová inštancia Review nesie predvolené hodnoty stĺpcov už v pamäti — pending, neoverená, oba počty hlasov 0 — takže práve vytvorená recenzia či odpoveď sa serializuje aj porovnáva rovnako ako čerstvo načítaná.

## review\_votes

- review\_id — cudzí kľúč na tabuľku nakonfigurovaného modelu recenzie, pri zmazaní sa kaskáduje.
- voter\_type / voter\_id — polymorfný hlasujúci, typ určuje key\_type.
- helpful — true pre užitočný, false pre neužitočný hlas.
- Unikátny index (review\_id, voter\_type, voter\_id): jeden hlas od hlasujúceho na recenziu.

## Typy kľúčov

Autori, predmety a hlasujúci sú polymorfní, zapojiť sa teda môže akýkoľvek Eloquent model. key\_type určuje typ ich stĺpcov id; vlastné tabuľky balíka majú vždy autoinkrementálne kľúče:

| key\_type | Použite, keď vaši autori, predmety a hlasujúci… |
| --- | --- |
| `bigint` | používajú predvolené autoinkrementálne kľúče Laravelu (predvolené) |
| `uuid` | používajú HasUuids |
| `ulid` | používajú HasUlids |

Všetky vaše polymorfné ciele musia mať rovnaký typ kľúča. Nastavte ho pred spustením migrácií — číta sa práve vtedy:

```bash
# Set before you run the migrations — the morph columns are typed from it
REVIEWS_KEY_TYPE=uuid
```

Iná hodnota vyhodí InvalidConfigurationException, namiesto aby sa potichu migrovalo ako bigint.

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