Databázová schéma
Obe tabuľky pochádzajú z publikovaných migrácií. Peňažné stĺpce sú stĺpce decimal(38,0) z money-for-laravel v najmenších jednotkách, ktoré v rámci riadku zdieľajú jeden stĺpec meny.
coupons
| Stĺpec | Typ | Poznámka |
|---|---|---|
id | bigint PK | |
type | string | Predvolene fixed. |
value | bigint | Najmenšie jednotky (Fixed) alebo bázické body (Percentage). |
code | string, indexed | Ukladá sa orezaný a veľkými písmenami. |
usage | integer | Predvolene 0. |
max_usage | integer | Predvolene 0 = bez limitu. |
max_usage_per_redeemer | unsigned integer | Predvolene 0 = bez limitu. |
currency | currencyCode, nullable | Uzamknutie na menu. |
minimum_spend | money, nullable | Zdieľa stĺpec currency. |
max_discount | money, nullable | Zdieľa stĺpec currency. |
activated_at | timestamp, nullable | Null = ešte neaktívny. |
expires_at | timestamp, nullable | Null = bez konca platnosti. |
meta | jsonb, nullable | Castuje sa na kolekciu. |
created_at, updated_at, deleted_at | timestamps | Soft deletes. |
undeleted_code | string, nullable, stored generated, unique | Kým riadok nie je zmazaný, zrkadlí code, po zmazaní je null — kódy tak zostávajú unikátne medzi nezmazanými kupónmi. V poliach ani JSON sa nezobrazuje. |
coupon_redemptions
| Stĺpec | Typ | Poznámka |
|---|---|---|
id | bigint PK | |
coupon_id | foreignId → coupons.id | Pri zmazaní kaskáduje. |
redeemer_type, redeemer_id | morphKey, nullable | Typ kľúča podľa coupons.key_type; null pri uplatnení bez zákazníka. |
amount_discounted, currency | money | Zaznamenaná zľava. |
created_at, updated_at, deleted_at | timestamps | Soft deletes. |
Stĺpec code je indexovaný, nie unikátny: unikátnosť medzi nezmazanými kupónmi zabezpečuje unikátny index nad generovaným stĺpcom undeleted_code, takže kód soft-deleted kupónu sa dá vydať znova. Vyžaduje to MySQL/MariaDB, PostgreSQL alebo SQLite — unikátne indexy SQL Servera považujú hodnoty NULL za rovnaké. Model stĺpec undeleted_code do replicate() nepreberá.
Na SQLite cast z money odmietne sumy nad rozsah int64 (InvalidMoneyValue).
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.