Definisci convenzione audit sulle tabelle
This commit is contained in:
@@ -4,6 +4,32 @@ Il modello deve essere abbastanza generale da non ripetere i limiti del legacy,
|
||||
|
||||
## Entita' principali
|
||||
|
||||
## Convenzione audit comune
|
||||
|
||||
Tutte le tabelle persistenti di dominio devono avere un blocco audit standard.
|
||||
|
||||
Campi minimi:
|
||||
|
||||
- created_by;
|
||||
- created_at;
|
||||
- updated_by;
|
||||
- updated_at;
|
||||
- deleted_by;
|
||||
- deleted_at.
|
||||
|
||||
Questa forma e' volutamente esplicita per rendere semplice interrogare il database anche senza passare dall'applicazione.
|
||||
|
||||
Le cancellazioni fisiche devono essere evitate nelle tabelle operative. La regola di default e' il soft delete:
|
||||
|
||||
```text
|
||||
deleted_at valorizzato = record cancellato logicamente
|
||||
deleted_at nullo = record attivo
|
||||
```
|
||||
|
||||
Per tabelle molto semplici o di sistema si puo' valutare una convenzione piu' compatta, ma il default del progetto resta il blocco audit esplicito.
|
||||
|
||||
Quando serve ricostruire la sequenza completa degli eventi, il blocco audit della riga non basta. In questi casi si usa anche AuditEvent, che registra azione, utente, timestamp, origine, valori prima/dopo e riferimento alla transazione.
|
||||
|
||||
### LogisticUnit
|
||||
|
||||
Rappresenta una qualsiasi unita' fisica movimentabile.
|
||||
|
||||
Reference in New Issue
Block a user