Ho un sistema CMS che memorizza i dati attraverso tabelle in questo modo:Mantenere la cronologia delle modifiche alla pagina. Un po 'lo fa in questo modo per le revisioni
Entries Table
+----+-------+------+--------+--------+
| id | title | text | index1 | index2 |
+----+-------+------+--------+--------+
Entries META Table
+----+----------+-------+-------+
| id | entry_id | value | param |
+----+----------+-------+-------+
Files Table
+----+----------+----------+
| id | entry_id | filename |
+----+----------+----------+
Entries-to-Tags Table
+----+----------+--------+
| id | entry_id | tag_id |
+----+----------+--------+
Tags Table
+----+-----+
| id | tag |
+----+-----+
Sono nel tentativo di implementare un sistema di revisione, un po' come ha così. Se lo stavo facendo solo per il Entries Table
stavo pensando di tenere una copia di tutte le modifiche a quella tabella in una tabella separata. Dato che devo farlo per almeno 4 tabelle (la tabella TAGS non ha bisogno di revisioni), questa non sembra affatto una soluzione elegante.
Come lo fareste?
Si prega di notare che i tabelle Meta sono modellati in EAV (entity-attribute-value).
Grazie in anticipo.
Perché qualcuno ha votato la risposta di ejrowley? Sto ancora cercando la migliore soluzione possibile e darò credito dove è dovuto il credito. Ma questo sembra una soluzione valida, no? – Frankie
anche se il tuo sistema non è esattamente quello che sto cercando; Credo che lo schema del tavolo 'Media Wiki' in Edward Williams sia una risposta più vicina in termini di prestazioni e disponibilità; Credo che la tua risposta sia nella linea della risposta di Edwards con schemi migliori, quindi lo accetto. Grazie! – Frankie