gpt4 book ai didi

database - 在数据库中存储用户历史记录的最佳实践

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:17 25 4
gpt4 key购买 nike

我需要一些建议...我有一个应用程序,用户可以在其中执行某些操作。例如,用户可以有 friend 。所以...用户可以看到他的好友 Activity 。那么我应该如何在数据库中实现 Activity 日志呢?我应该换一张新 table 吗?我可以从多个表中进行一些查询并对连接的结果进行排序吗?

最佳答案

我建议您创建一个 activity_type 表和一个日志表。

activity_type | id | name           | table
--------------+----+----------------+-------
1 | added friend | tbl_users
2 | added comment | tbl_comments
3 | added image | tbl_images
4 | Updated dp | NULL

现在您可以使用下表轻松维护日志

   logs_table | id | user | activity_type  | object_id | time_stamp
--------------+----+------+----------------+-----------+------------
1 | 15 | 1 | 5 | 2012-03-10 08:45:05
2 | 15 | 2 | 19 | 2012-03-10 08:46:05
3 | 15 | 3 | 84 | 2012-03-10 08:47:05
4 | 15 | 4 | NULL | 2012-03-10 08:48:05

用户#15 在 3 月 10 日添加了一个新 friend 用户#5。

用户#15 在 3 月 10 日添加了一条新评论#19。

用户#15 在 3 月 10 日添加了一张新图片#84。

用户#15 在 3 月 10 日更改了他的显示图片。

更新可能存在 object_id 没有意义的 Activity ,例如更新的显示图像、更新的个人资料信息等。在这里,您可以将文本差异存储在单独的列中。

同样的方法可以用于存储审计日志。

关于database - 在数据库中存储用户历史记录的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9653146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com