6.6 KiB
6.6 KiB
DB_SCHEMA
Zakres i zrodlo prawdy
- Schemat wynika z migracji SQL w
database/migrations. - Dokument odzwierciedla stan repo na 2026-04-18 (migracje do
20260413_000100).
Ostatnie istotne migracje
20260413_000100_ensure_orders_delivery_payment_columns.sql20260412_000099_add_requires_photo_to_project_mappings.sql20260412_000098_rename_external_status_id_to_status_code.sql20260412_000097_add_project_generation.sql20260410_000081_add_remember_token_to_users.sql20260408_000090_backfill_delivery_price.sql20260407_000083_allegro_pull_status_mappings.sql20260407_000080_backfill_personalization_message.sql20260407_000079_pull_status_mappings.sql20260407_000078_reverse_status_mapping_keys.sql
Kompensacyjne migracje ensure_
000038- naprawa brakujacej tabeliorder_status_mappings.000039- uzupelnienie brakujacych kolumn fetch wintegrations.000040- seed/naprawa harmonogramushoppro_orders_import.000041- seed/naprawa harmonogramushoppro_order_status_sync+ direction.000042- seed/naprawashoppro_payment_status_sync+ kolumny payment sync.000100- kompensacja brakujacych kolumnorders.payment_methodiorders.delivery_method.
Kluczowe tabele
users
- Uzytkownicy panelu.
- Wazne kolumny:
id,email(UNIQUE),password_hash,remember_token(od000081),is_active,created_at,updated_at.
orders
- Glowna tabela zamowien (model neutralny wzgledem zrodla).
- Wazne kolumny:
id,source,integration_id,source_order_id,internal_order_number(UNIQUE),status_code(rename zexternal_status_idw000098),payment_status,total_paid,payment_method,delivery_method,delivery_price(dodane/backfill000090),- daty zrodlowe i techniczne,
payload_json,preferences_json. - Wydajnosc:
- indeksy na
source,status_code,ordered_at,(source, status_code).
order_items
- Pozycje zamowienia.
- Wazne kolumny:
order_id,source_item_id,name,quantity,price_gross,media_url,payload_json,personalization(000075, backfill000080),project_generated,project_generated_at(000097).
order_payments
- Platnosci zamowien (import i reczne).
- Wazne kolumny:
order_id,source_payment_id,payment_type_id,payment_date,amount,currency,payload_json.- Klucz unikalny:
(order_id, source_payment_id).
order_status_history
- Historia zmian statusow zamowienia.
- Wazne kolumny:
order_id,from_status_id,to_status_id,change_source,changed_by,changed_at.
order_activity_log
- Uniwersalny log aktywnosci (
status_change,payment,shipment,import, itd.). - Wazne kolumny:
order_id,event_type,summary,details_json,actor_type,actor_name,created_at.
order_status_groups i order_statuses
- Slownik statusow biznesowych i grup statusow.
- Relacja:
order_statuses.group_id -> order_status_groups.id(ON DELETE CASCADE).
integrations
- Bazowa tabela instancji integracji.
- Wazne kolumny:
type,name,base_url,api_key_encrypted,is_active,orders_fetch_enabled,orders_fetch_start_date,order_status_sync_direction,payment_sync_status_codes_json,- pola diagnostyczne testu polaczenia.
integration_order_sync_state
- Kursor synchronizacji per integracja.
- Wazne kolumny:
integration_id(PK),last_synced_order_updated_at,last_synced_source_order_id,last_success_at,last_status_pushed_at,last_error.
order_status_mappings
- Mapowania push statusow dla shopPRO.
- Po
000078klucz unikalny: (integration_id, orderpro_status_code).- Dodatkowe indeksy:
(integration_id, shoppro_status_code).
order_status_pull_mappings
- Dedykowane mapowanie pull shopPRO -> orderPRO (
000079). - Klucz unikalny:
(integration_id, shoppro_status_code).
allegro_order_status_mappings
- Mapowania statusow Allegro dla kierunku push.
- Po
000078klucz unikalny: orderpro_status_code.- Indeks lookup:
allegro_status_code.
allegro_order_status_pull_mappings
- Dedykowane mapowanie pull Allegro -> orderPRO (
000083). - Klucz unikalny:
allegro_status_code.
allegro_integration_settings
- OAuth i tokeny Allegro per srodowisko/integracja.
- Wazne kolumny:
integration_id(UNIQUE FK),environment,client_id,client_secret_encrypted,redirect_uri,access_token_encrypted,refresh_token_encrypted,token_expires_at,orders_fetch_enabled,orders_fetch_start_date.
apaczka_integration_settings i inpost_integration_settings
- Ustawienia providerow wysylek, powiazane 1:1 z
integrationsprzezintegration_id.
company_settings
- Dane firmy/nadawcy, parametry domyslnych paczek i pola ksiegowe.
receipt_configs, receipts, receipt_number_counters
- Konfiguracja numeracji, wystawione paragony i liczniki numerow.
email_mailboxes, email_templates, email_logs
- Skrzynki SMTP, szablony i log wysylki.
automation_rules, automation_conditions, automation_actions, automation_execution_logs
- Definicje regul i historia ich wykonan.
shipment_packages
- Rekordy przesylek i etykiet.
- Wazne kolumny trackingowe (od
000060): delivery_status,delivery_status_raw,delivery_status_updated_at.
delivery_status_mappings
- Mapowanie statusow przewoznikow na status biznesowy (
provider + raw_statusUNIQUE).
carrier_delivery_method_mappings
- Wspolne mapowanie form dostawy na providerow wysylki.
shipment_presets
- Presety nadania wykorzystywane przez API presetow przesylek.
print_api_keys
- Klucze API dla klienta desktop druku.
- Kolumny:
key_hash(UNIQUE),key_prefix,is_active,last_used_at.
print_jobs
- Kolejka wydruku etykiet.
- Kolumny:
order_id,package_id,label_path,status,created_by,created_at,completed_at.
project_mappings
- Mapowanie produktu na skrypt generujacy projekt (
000097). - Wazne kolumny:
product_name_pattern,script_name,output_dir,requires_photo(000099),is_active.
Harmonogram cron (cron_schedules)
- Wykorzystywane typy jobow:
allegro_token_refreshallegro_orders_importallegro_status_syncshoppro_orders_importshoppro_order_status_syncshoppro_payment_status_syncshipment_tracking_syncautomation_history_cleanuporder_status_aged
Notatki kompatybilnosci
- Migracje
ensure_i000100sa idempotentne i kompensuja roznice miedzy srodowiskami. - Rename
orders.external_status_id -> status_codewymaga, aby nowe query i dokumentacja uzywaly tylkostatus_code. delivery_pricejest backfillowane z JSON payloadow importu (Allegro/shopPRO).