Модераторы моего webapp имеют возможность изменять некоторые данные в базе данных. Эти изменения видны всем пользователям. Но по какой-то причине я не хочу, чтобы они применялись немедленно, а скорее только после определенного действия, например, когда я явно принимаю. Сроки:
- Поле в таблице имеет значение
PreviousValue
. - Модератор запрашивает это значение как
NewValue
.
Все пользователи продолжают видеть значениеPreviousValue
. - Я принимаю изменения.
Теперь все пользователи видят значениеNewValue
.
Проблема в том, что модераторы могут изменять поля в большом количестве таблиц. Каков наилучший способ справиться с этими временными значениями? Я могу представить эти решения, но ни один из них не звучит хорошо:
- Дублируйте все таблицы (вместе
MyTable
иMyTable_ToApply
). - Добавьте специальную таблицу (
ToApplyTable
) с четырьмя полями: таблицу для изменения, поле для изменения, идентификатор записи для изменения и новое значение, которое необходимо применить.
Есть ли у вас лучшие идеи?