我的问题是我不确定该怎么做。我正在考虑建立一个类似这样的数据库结构(source):
但是,在研究过程中,我发现有this之类的审核程序包。所以我想知道,优点和缺点是什么?
我的想法是:
SQL历史记录:
专业版:
缺点:
类似Laravel审核
专业版:
缺点:
您会努力还是只拿包裹?
答案 0 :(得分:1)
我之所以使用该软件包,主要是因为易于使用和配置。
关于您提到的缺点:
首先,我不能说这是一件坏事,因为它使将用户与跨不同模型完成的所有更改相关联变得容易。
否则,如果每个模型都有一个审核表(order_audits
,costumer_audits
,...),则必须使用JOIN语句来完成简单的事情,例如获取用户的更改总数例如,是在系统上完成的。
您指出的第二个原因,我假设是因为某些数据存储为JSON。在这种情况下,您始终可以将存储该数据的列类型从TEXT
转换为JSON
(在documentation中包含)。
(在支持它的RDBMS上)好处之一是,您可以在JSON类型列上使用WHERE
语句来应用过滤,并且考虑到JSON类型已经存在了一段时间,我敢打赌,这里有数据库可以正确显示数据的查看器,而无需使用JSON字符串。