Sto provando a migrare i dati di lagacy in un nuovo sistema di eCommerce che sto costruendo da solo e di cui ho il pieno controllo (quindi posso modificarlo come preferisco).
C'è un prodotto che è venuto con un regalo gratuito per i primi 100 clienti. Dopo quello, era solo il prodotto normale. Ora il modo in cui è stato gestito il vecchio sistema era semplicemente cambiando la descrizione del prodotto e omettendo la parte "con il dono gratuito" dopo 100 vendite. Quindi dal punto di vista del database, era sempre lo stesso prodotto con lo stesso id, solo una descrizione diversa.
Tuttavia, ho alcune opzioni per distinguerli, ed è quello che voglio fare durante la migrazione. Ma non sono sicuro di come rappresentare qualcosa di simile da un punto di vista della modellazione del database. Dovrebbe essere
- 2 prodotti diversi
che non sembra giusto, perché non si tratta di 2 prodotti diversi, sono forse 2 varianti di esso. Inoltre, quando creo report, non voglio che gestisca come 2 prodotti diversi.
- 1 prodotto con 2 varianti *, in cui le 2 varianti si distinguono per l'opzione che si tratti di un regalo o meno
anche questo non sembra giusto, perché "regalo gratuito per i primi 100" non sembra davvero un'opzione e le varianti non dovrebbero avere descrizioni diverse.
Quale potrebbe essere un altro modo per rappresentare una promozione temporanea di un prodotto in modo strutturato e comprensibile?
Modifica
what exactly do you need to do with that information later?
Voglio essere in grado di
- interrogare quanti prodotti sono stati venduti con e senza il dono, ma è comunque possibile trattare quel prodotto come uno, perché la parte del regalo non ha molta importanza nei rapporti
- Essere in grado di ri-generare fatture con la stessa descrizione di articolo esistente al momento dell'acquisto dell'articolo. Anche la descrizione dell'oggetto dovrebbe essere disponibile in più lingue.
* Il concetto di varianti ha brevemente spiegato: Un prodotto può avere opzioni (come una T-Shirt può avere taglie e colori), e una variante è un prodotto con una serie specifica di opzioni (come un T-Shirt con taglia M in blu)