Мы создаем простую веб-систему, в которой кто-то добавляет запись, например, страницу CMS, которая утверждается ответственным лицом перед тем, как показываться на веб-сайте.
Если автор затем решит отредактировать эту страницу позже, мы хотим создать черновик на основе оперативной копии, после утверждения она заменит старую действующую страницу.
Мы думали о полном контроле версий, но полагаем, что мы можем упростить эту задачу, просто имея: 1. Только черновик, 2. Только живой или 3. Один черновой и один живой.
Эта функциональность требуется для нескольких «вещей», а не только для страниц.
Наконец, вопрос: как вы думаете, было бы лучше хранить эти две записи в одной и той же таблице, или зеркальная таблица была бы лучше?
Я думаю, это, вероятно, зависит, но мне не нравится идеал иметь две таблицы с одинаковой структурой. Стоит ли платить за несколько более медленные операции (поскольку при отображении данных нам придется постоянно запрашивать черновики)?