开发者

How to store Log in database?

开发者 https://www.devze.com 2023-01-21 11:11 出处:网络
My application let users to send files to each other. Regular users can edit their contacts, change password, etc. In addition, admin users can add/remove u开发者_JAVA百科sers and view the log of what

My application let users to send files to each other. Regular users can edit their contacts, change password, etc. In addition, admin users can add/remove u开发者_JAVA百科sers and view the log of what happened. My question is how to store this log in MySQL database ?

I thought to store the log like this:

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       

What type would be the best for action_type ? Since new action_types may be added in future, I thought that ENUM won't be a good choice. So I thought to make it VARCHAR(..), like description.

Is this seems reasonable ?

I will be happy to hear any comments / suggestions.


If you're concerned about adding additional action types, make a separate table to store your action types and and join it to your logs table with a foreign key:

logs table:

log_id   time   user_id   action_type_id     description
------   ----   -------   ----------------   -----------------------------------
   1     ....      4            1            Added new user: alex
   2     ....      1            2            Added contact Paul to group Family 
...

action_types table:

id    name
---   ---------------
1     User added
2     Contact added
.....
0

精彩评论

暂无评论...
验证码 换一张
取 消