Hmm daar zat ik ook aan te denken.
- Het zou voor mij persoonlijk niet zo'n probleem zijn om een tabel per tabel te hebben om revisies te bewaren, maar goed.
- Gebruikersnaam kan worden bewaard met door de gebruiker gedefinieerde variabelen, geloof ik, (na een probleem met het starten van een sessie zoiets als
SET @user='someone'
, en gebruik dat. - Zolang er triggers zijn na INSERT, UPDATE en DELETE, is het verkrijgen van de vorige / volgende waarden een eenvoudige vraag, ik zal alleen de OUDE waarden opslaan.
Kortom, voor een tabel met kolommen (a,b,c) zou ik een tabel maken met kolommen (user_id,modtime,a,b,c).
Grote nadelen:
- batch-updates zijn langzaam (dus kies je tabellen om revisies zorgvuldig bij te houden)
- gegevensduplicatie deluxe, u/ik moet voldoende opslagruimte hebben
- 'gerelateerde' gegevens leiden niet tot een revisie (d.w.z. het wijzigen van een
group_members
tabel verandert niet echt eengroups
tabel, terwijl je dat misschien wilt houden als een tijdstip voorgroups
in plaats van doorgroup_members
te gaan wijzigingen.
Al met al lijkt het me een goede deal, maar aangezien ik het zelden in de praktijk heb gezien moet er moeten zijn dwingende redenen waarom het slecht is, dus ik wacht die antwoorden af.