Add ERP order import endpoint and n8n order-ingest flow export
This commit is contained in:
55
db/README.md
Normal file
55
db/README.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Database Migrations
|
||||
|
||||
## Reihenfolge
|
||||
|
||||
1. `db/migrations/0001_phase1_core.sql`
|
||||
2. `db/migrations/0002_phase1_seed_methods.sql`
|
||||
3. `db/migrations/0003_phase1_inventory_forecast.sql`
|
||||
4. `db/migrations/0004_phase1_direct_sales.sql`
|
||||
|
||||
## Beispielausfuehrung
|
||||
|
||||
```bash
|
||||
psql "$DATABASE_URL" -f db/migrations/0001_phase1_core.sql
|
||||
psql "$DATABASE_URL" -f db/migrations/0002_phase1_seed_methods.sql
|
||||
psql "$DATABASE_URL" -f db/migrations/0003_phase1_inventory_forecast.sql
|
||||
psql "$DATABASE_URL" -f db/migrations/0004_phase1_direct_sales.sql
|
||||
```
|
||||
|
||||
## Enthaltene Kernlogik in `0001`
|
||||
|
||||
1. Phase-1 Tabellen, Indizes und Constraints
|
||||
2. Bestands-View `v_stock_lot_balance`
|
||||
3. Trigger fuer:
|
||||
1. Negativbestand-Schutz
|
||||
2. Auto-Anlage von `current` + `open` bei neuem Produkt
|
||||
3. Auto-Status fuer Bestellpositionen (`allocated`/`partially_cancelled`/`cancelled`)
|
||||
4. Auto-Chargenwechsel bei leerer `current`-Charge
|
||||
5. Outbox-Events fuer Outbound-Webhook
|
||||
|
||||
## Hinweis
|
||||
|
||||
ENV-Werte fuer Outbound-Zustellung (n8n URL/Secret) werden spaeter von der Applikation/Worker genutzt. Die DB-Migration legt dafuer die Outbox-Struktur bereits an.
|
||||
|
||||
## Abverkaufdatum und Warnung
|
||||
|
||||
Die Migration `0003` fuehrt die interne Prognosefunktion ein:
|
||||
|
||||
```sql
|
||||
SELECT fn_refresh_sellout_forecast(60, 60);
|
||||
```
|
||||
|
||||
UI-Read-Modell:
|
||||
|
||||
```sql
|
||||
SELECT * FROM v_stock_lot_ui_alerts ORDER BY product_name, status DESC, lot_number;
|
||||
```
|
||||
|
||||
## Direktverkauf (Migration `0004`)
|
||||
|
||||
`0004` erweitert Bestellungen um `order_source` (`wix` | `direct`) und erlaubt Direktverkaeufe ohne Kontaktzuordnung (`party_id = NULL`). Zusaetzlich:
|
||||
|
||||
1. Guardrail: Direktbestellungen muessen `external_ref` mit `DIR-`-Praefix haben.
|
||||
2. Generator-Funktion: `fn_next_direct_sales_order_ref(...)`.
|
||||
3. Trigger: automatische Vergabe einer `DIR-...` Nummer, falls leer.
|
||||
4. Zahlungsarten fuer Direktverkauf: `cash`, `paypal` (zus. zu bestehenden Methoden).
|
||||
Reference in New Issue
Block a user