Оптимальный способ сохранить историю данных, которая распечатывается перед обновлением в MySQL? - PullRequest
0 голосов
/ 17 октября 2019

Я создаю учебный веб-сайт, где пользователи могут присоединиться к тренингу, распечатать регистрационную форму и отправить ее на само мероприятие.

Я сохраню простую схему:

участников

id
name
company_name
company_position

тренингов

id
name
date

участников_тренинги

id
participant_id
training_id

Итак, когда вызарегистрируйтесь, вы получите PDF-файл, который вам нужно будет поставить свою подпись и предоставить администратору тренинга.

В PDF-файле содержится name тренинга, участник name, участник company_name и company_position.

Пример PDF-данных

event_name: Main Event
name: John Cena
company_name: ABC
company_position: Position A

У меня вопрос: а что если после события Main Event, скажем, через год,участник обновляет свою company_name до DEF или позицию до Position B, и администратор хочет получить все тренинги, которые есть у company_name ABC? Как мне восстановить его старые данные, так как company_name участника уже DEF? Нужно ли добавлять новое поле в таблицу participant_trainings? Может быть, JSON Stringified объект старых данных?

Другое решение на мой взгляд, это добавить companies таблица

компании

id
participant_id
name
position

Затем в participant_trainings таблице

member_trainings

id
participant_id
company_id
training_id

Таким образом, я могу узнать, из какой компании это произошло, хотя что, если он поменял позиции? Я не хочу другой стол для этого.

Любая помощь будет высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...