@springimport

Как правильно хранить историю опроса?

Разрабатываю систему опросов (magento 2).
На данный момент запланированы таблицы:
- опросов;
- вопросов к опросам;
- вариантов ответов;
- ответов пользователей.

Так же нужно предусмотреть изменение вопросов к опросу после того как уже есть ответы пользователей. А именно, хотелось бы хранить историю ответов даже для уже не существующих вопросов (для показа в админке).

Есть идея таблицы history где будут ответы (и вопросы) в текстовом виде без привязки к вопросам. Т.е. происходит дублирование в случае каких-либо изменений в вопросах.
Из минусов: после любого изменения нужно будет брать все ответы юзеров и записывать заново. Получается сильно раздуто.
p.s. Пришла идея сохранять ответы только для вопросов, которые были изменены или удалены, т.е. как в git.

Есть другая идея: если возникла потребность изменить что-либо в опросе, нужно создавать новый. Чтобы не мучиться с набиванием одних и тех же вопросов, таблица вопросов отвязывается от опросов и служит только как словарь из которого можно взять готовый вопрос в новый опрос.
Из минусов: даже со словарем получается не так легко менять как в 1 случае.
Плюсы: легко хранить историю, даже не нужны лишние таблицы.

Как сделать правильно?
  • Вопрос задан
  • 173 просмотра
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Правильно - ничего не удалять, а только ставить отметку, что вопрос показывать не надо.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Через флаги состояний.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы