Jedan trikić da podijelim,
…a tko zna, možda je to što želim reći već uobičajena praksa u svijetu da se tako radi.
Nebi bilo zanimljivo kada bih odmah rekao rješenje, pa prvo da postavim pitanje.
Ako bi htjeli pratiti history promjena baze podataka, kako bi ga pratili?
Što smatram pod history? Ne mora sada to baš biti mogućnost da vidite sve što se ikada dešavalo na bazi…ali u tom smjeru nešto.
Npr. imate administratore na stranici. I administratori imaju ovlasti da obrišu korisnika, poruku…ili nešto treće.
Vi kao main-admin možda želite vidjeti koji je administrator što pobrisao.
E sad, koje su solicije ovom problemu?
Jedna od solucija je otvoriti novu tablicu koja se zove recimo:
adminPobrisaoUsera
…i onda kod svakog brisanja usera unesti u tu tablicu koji admin je koga obrisao.
To je malo pain-in-ass rješenje, jer moramo posebno evidentirati svaku akciju koju pratimo.
Moramo također imati više različitih tablica za praćenje history-a.
Ok, možemo imati jednu tablicu za history…ali onda struktura te tablice mora podržavati različite history akcije koje pratimo.
A nije lako pratiti sve akcije…zato jer one mogu biti skroz specifične. Ne radi se samo o brisanju nekog usera ili artikla. Može se raditi i o updejtu nekog artikla. A kako artikl može imati “dvajst-pet” različitih polja (attributa) …malo je nespretno sve to popratiti koji točno attribut artikla je updejtan…
Svejedno, mislim da ima skroz elegantno rješenje za ovaj problem i da se sa nekoliko linija code-a može ispratiti baš sve živo i neživo što se dešava na bazi
Ako se kome mozga, izvolite. (Svoje) rješenje dam malo kasnije.