Files
shopPRO/DATABASE_STRUCTURE.md

4.7 KiB

Struktura bazy danych shopPRO

Plik aktualizowany na bieżąco przy zmianach w kodzie. ORM: Medoo ($mdb), prefix tabel: pp_

pp_shop_products

Główna tabela produktów.

Kolumna Opis
id PK
parent_id FK do produktu nadrzędnego (kombinacje) - NULL dla produktów głównych
price_brutto Cena brutto
price_brutto_promo Cena promocyjna brutto
quantity Stan magazynowy
status Status: 1 = aktywny, 0 = nieaktywny
archive Archiwum: 1 = zarchiwizowany, 0 = aktywny
promoted Czy promowany
vat Stawka VAT
ean Kod EAN
sku Kod SKU
baselinker_product_name Nazwa produktu w Baselinker
apilo_product_name Nazwa produktu w Apilo

Używane w: Domain\Product\ProductRepository, admin\factory\ShopProduct

pp_shop_products_langs

Tłumaczenia produktów (per język).

Kolumna Opis
id PK
product_id FK do pp_shop_products
lang_id ID języka (np. 'pl')
name Nazwa produktu

Używane w: Domain\Product\ProductRepository::getName()

pp_shop_products_images

Zdjęcia produktów.

Kolumna Opis
id PK
product_id FK do pp_shop_products
src Ścieżka do pliku
alt Tekst alternatywny

pp_shop_products_categories

Przypisanie produktów do kategorii.

Kolumna Opis
product_id FK do pp_shop_products

Używane w: admin\factory\ShopProduct::product_delete()

pp_banners

Banery.

Kolumna Opis
id PK
name Nazwa banera
status 0/1
date_start Data rozpoczęcia
date_end Data zakończenia
home_page Czy na stronie głównej 0/1

Używane w: Domain\Banner\BannerRepository

pp_banners_langs

Tłumaczenia banerów.

Kolumna Opis
id PK
id_banner FK do pp_banners
id_lang ID języka
src Ścieżka do grafiki
url URL docelowy
html Kod HTML
text Tekst

Używane w: Domain\Banner\BannerRepository

pp_articles

Artykuły.

Kolumna Opis
id PK
status -1 = archiwum, 0 = nieaktywny, 1 = aktywny

Używane w: admin\controls\ArticlesArchive, Domain\Article\ArticleRepository::find()

pp_articles_pages

Strony artykułów.

Kolumna Opis
article_id FK do pp_articles
page_id FK do strony (pp_pages)
o Kolejność

Używane w: Domain\Article\ArticleRepository::find(), Domain\Article\ArticleRepository::deleteNonassignedImages()

pp_articles_langs

Tłumaczenia artykułów.

Kolumna Opis
article_id FK do pp_articles
lang_id ID języka (np. 'pl')
title Tytuł artykułu
seo_link Link SEO artykułu

Używane w: Domain\Article\ArticleRepository::find(), Domain\Article\ArticleRepository::deleteNonassignedFiles()

pp_articles_images

Zdjęcia artykułów.

Kolumna Opis
article_id FK do pp_articles
src Ścieżka do pliku
o Kolejność
id PK (używane też do sortowania DESC)

Używane w: Domain\Article\ArticleRepository::find()

pp_articles_files

Pliki artykułów.

Kolumna Opis
article_id FK do pp_articles
src Ścieżka do pliku

Używane w: Domain\Article\ArticleRepository::find()

pp_units

Jednostki/slowniki (np. jednostki produktu).

Kolumna Opis
id PK

Używane w: Domain\Dictionaries\DictionariesRepository, admin\controls\ShopProduct

pp_units_langs

Tlumaczenia jednostek (per jezyk).

Kolumna Opis
id PK
unit_id FK do pp_units
lang_id ID jezyka (np. 'pl')
text Nazwa jednostki

Używane w: Domain\Dictionaries\DictionariesRepository

pp_users

Uzytkownicy panelu administratora.

Kolumna Opis
id PK
login Login / e-mail uzytkownika
password Hash hasla (legacy: md5)
status Status konta: 1 = aktywny, 0 = zablokowany
admin Flaga dostepu do panelu admin
error_logged_count Licznik nieudanych logowan
last_logged Data ostatniego poprawnego logowania
last_error_logged Data ostatniej nieudanej proby logowania
twofa_enabled Czy wlaczone 2FA (0/1)
twofa_email E-mail do wysylki kodu 2FA
twofa_code_hash Hash aktualnego kodu 2FA
twofa_expires_at Data waznosci kodu 2FA
twofa_sent_at Data ostatniej wysylki kodu 2FA
twofa_failed_attempts Liczba nieudanych prob 2FA

Uzywane w: Domain\User\UserRepository, admin\Controllers\UsersController, admin\factory\Users

Aktualizacja 2026-02-12: uzycia pp_users sa prowadzone przez Domain\\User\\UserRepository (legacy admin\\factory\\Users usunieto).