Odkrivanje tople vode... Naročilo v trgovini, history orderja,...

Vsem lep pozdrav in srečno 2008!

Kot je razvidno iz naslova odkrivam toplo vodo.
Kako se rešuje problem, ko hoče user pogledat v zgodovino nakupov in hoče kupit izdelke, ki jih ni več v katalogu oz. so spremenjeni.
Verjetno bo potrebno pri orderju shraniti kompletne podatke od takratnega stanja izdelka(cena, naziv, itd...) in jih statično zapisati v neko order history tabelo. Mogoče bi naredil tako, da se izdelek nikoli ne izbriše(zaradi history-ja) ampak se mu samo določi status deleted = 1....

Kako narediti pravilno zgodovino nakupov?

hvala vam internet mojstri za odgovore :eek:

4 odgovori

Hmm, jaz bi v takem primeru tudi dodal še eno polje v bazo pa noter 1 pa 0, deleted ali pa ne tako kot si napisal ... :)

Za 2 tabeli se nebi odločal, ker sem se igral s tem pa se mi zdi brezveze, potem pa podatke iz ene v drugo pa brišeš pa pišeš, raje uporabi eno tabelo, pa dodaj eno polje :).

Fiksno zapisati postavke artikla... Naslov, cena, DDV

Tako ti "deleted" ne svinjajo baze artiklov. Verjetno se prispara tudi na prostoru dolgorocno.

Verjetno bom naredil še eno tabelo order_history. V njej bodo fixno zapisani podatki od izdelka(kopija) iz tistega časa, ko je bil kupljen. In pa id takratnega izdelka....za obnovo nakupa (če izdelek s tem id-jem ne obstaja več, se ne da obnoviti nakupa)

Ali se kako drugače tej reči streže?

V praksi (programiranju) se počne oboje: fiksno zapisovanje in flag 'deleted' (slednji ima zanemarljivo velikost, tako da se ni treba bati, da bi ti server čisto zafilal). S tem se pač rešiš problemov, ki bi nastali pri kakršnih koli spremembah (sprememba cene, brisanje artikla,...)