http://mudasobwa.livejournal.com/ ([identity profile] mudasobwa.livejournal.com) wrote in [personal profile] metaclass 2012-09-29 05:27 am (UTC)

У меня была похожая задача. Я в соседней базе хранил «дельты» (ну, не дельты, а предыдущие версии, повторять систему контроля версий как-то странно) с датами (типа: doc_id, date_of_change, old_version). С индексом по дате.

Есть два варианта отката: иногда нужно, чтобы документ откатился назад, но стал «новой версией» (откат на две недели от версии 20 к версии 3 создает не версию 3, но версию 21 с содержимым 3), а иногда можно просто «вернуться к бэкапу».

Соседняя база никак не влияет на работоспособность системы без нее, пурджится по крону и позволяет элегантно откатиться куда угодно. От оригинальной базы нужен один несложный триггер со слабым приоритетом.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting