Мое приложение позволяет пользователям отправлять файлы друг другу. Обычные пользователи могут редактировать свои контакты, сменить пароль и т. Д. Кроме того, пользователи-администраторы могут добавлять/удалять пользователей и просматривать журнал того, что произошло. Мой вопрос заключается в том, как хранить этот журнал в базе данных MySQL?Как сохранить систему входа?
Я думал, что для хранения журнала, как это:
log_id time user_id action_type description
------ ---- ------- ---------------- ----------------------------------------
1 .... 4 User added Added new user: alex
2 .... 1 Contact added Added contact Paul to group Family
3 .... 1 User removed Removed user: gabrielle
4 .... 3 Files sent Sent files 3,5,7,14 to contacts 2,4,8
5 .... 8 Group added Added new group: Family
6 .... 8 Password changed
7 .... 8 First Name changed Changed First Name from Michael to Misha
Какой будет лучше для action_type
? Поскольку новые action_type
s могут быть добавлены в будущем, я думал, что ENUM
не будет хорошим выбором. Поэтому я подумал сделать это VARCHAR(..)
, например description
.
Возможно ли это?
Буду рад услышать любые комментарии/предложения.
огорчает: Позвоните в первичный ключ 'id' вместо' log_id'. Вы избегаете уродливого повторения: 'logs.log_id' – meagar
@meagar - Нет ничего плохого в использовании log_id, и это рекомендуемая схема именования. Он гарантирует, что имена столбцов не будут сталкиваться при выполнении объединений без ввода длинного списка псевдонимов. – mellowsoon
@mellowsoon Вот почему я сказал «домашнее животное», а не «вы делаете это неправильно». – meagar