Files
orderPRO/.paul/docs/DB_SCHEMA.md
Jacek Pyziak 0063402897 feat(108): delivery status management
Phase 108 complete (v3.2 milestone):

Plan 108-01 — Delivery Status DB & CRUD:
- Tabela delivery_statuses z seedem 11 statusow systemowych
- DeliveryStatusRepository (CRUD + per-request static cache)
- DeliveryStatus::setRepository() — DB fallback dla static final class
- Panel /settings/delivery-statuses (zakladki Statusy + Mapowanie)
- Sidebar przebudowany: Statusy zamowien + Statusy przesylek

Plan 108-02 — Automation Dropdowns z DB + UI Refactor:
- Dropdowny automatyzacji ladowane z DB (warunek shipment_status + akcja update_shipment_status)
- Walidacja przez DeliveryStatus::getAllStatuses()
- Osobna podstrona formularza CRUD (delivery-status-form.php)
- Lista uproszczona: rename Terminal -> Koncowy, usunieta kolumna Typ
- BREAKING: drop backward compat dla starych grupowych kluczy automatyzacji
- Bug fix: path params w DeliveryStatusesController via \$request->input('id')

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 22:10:24 +02:00

879 B

DB_SCHEMA

Schemat bazy danych — tabele, kolumny, FK, indeksy.

delivery_statuses

Tabela znormalizowanych statusów przesyłek. Zastępuje hardcoded stałe z DeliveryStatus.php (od Phase 108).

Kolumna Typ Opis
id INT UNSIGNED PK Auto-increment
key VARCHAR(50) UNIQUE Klucz statusu (np. in_transit)
label_pl VARCHAR(100) Etykieta po polsku
color VARCHAR(7) Kolor tła w formacie hex (#rrggbb)
sort_order TINYINT UNSIGNED Kolejność sortowania
is_terminal TINYINT(1) 1 = status końcowy (nie można cofnąć)
is_system TINYINT(1) 1 = status systemowy (nieedytowalny z UI)
created_at DATETIME Data utworzenia

Statusy systemowe (is_system=1, is_terminal=1): delivered, returned, cancelled. Migracja: 20260427_000103_create_delivery_statuses_table.sql