Det er meget nemmere at gemme hver post i sin helhed, end det er at gemme diffs af dem. Så hvis du vil have en forskel på to revisioner, kan du generere en efter behov ved at bruge PECL
Jeg kan godt lide at gemme alle versioner af posten i en enkelt tabel og hente den seneste med MAX(revision)
, en "aktuel" boolesk attribut eller lignende. Andre foretrækker at denormalisere og have en spejltabel, der indeholder ikke-aktuelle revisioner.
Hvis du i stedet gemmer diffs, bliver dit skema og algoritmer meget mere komplekse. Du skal derefter gemme mindst én "fuld" revision og flere "diff"-versioner og rekonstruere en fuld version fra et sæt af diffs, når du har brug for en fuld version. (Sådan gemmer SVN ting. Git gemmer en fuld kopi af hver revision, ikke forskelle.)
Programmeringstiden er dyr, men diskplads er normalt billig. Overvej venligst, om det virkelig er et problem at gemme hver revision i sin helhed.