Исправление cvs-255, (текущая версия) :
Например это может быть организовано так:
Таблица 2 строится на основе таблицы 1, т.е. восстанавливаемая, и в нее можно и нужно делать UPDATE.
Когда добавляется новое сообщение, то ему присваивается версия 0, и автоматом в таблице 2 создается запись с id:[0]
Когда сообщение исправляется, то сперва смотрим в таблицу 2 и берем максимальную версию из списка. Делаем insert в таблицу 1 с версией увеличенной на 1 и записываем новую версию в список версий в таблице 2: id:[0,1]
Таким образом от ошибок кода самого сервера, который может потереть сообщения, защитит отсутствие UPDATE или DELETE в коде в отношении таблицы 1, а от ошибок самого SQL сервера защитит наличие резервного SQL сервера, куда параллельно все будет писаться
Исходная версия cvs-255, :
Например это может быть организовано так:
Таблица 2 строится на основе таблицы 1, т.е. восстанавливаемая, и в нее можно и нужно делать UPDATE.
Когда добавляется новое сообщение, то ему присваивается версия 0, и автоматом в таблице 2 создается запись с id:[0]
Когда сообщение исправляется, то сперва смотрим в таблицу 2 и берем максимальную версию из списка. Делаем insert в таблицу 1 с версией увеличенной на 1 и записываем новую версию в список версий в таблице 2: id:[0,1]