我有一个企业列表网站。我目前正在构建一个界面,供用户登录和更新他们的列表。
我想实现的功能如下:
- 用户编辑列表并提交
- 编辑将发送给管理员以供批准
- 与此同时,现有列表仍保留在网站上
- 管理员在批准之前审查编辑并纠正任何错误
现在通常可以通过在数据库中存储“重复”行来完成类似的操作,并将标志设置为“待处理”。
但是,如果可能的话,我想尝试一种不同的方法,因为列表数据存储在多个表中,包括一个包含多个类别选择的表。
所以理想情况下,我不希望创建额外的数据库记录。我可以使用更好的替代方案吗?
实际上有两种不同的方法。
使用数据库(无论是在相同的表中,还是在一些与原始表结构几乎相同的“待更改”表中),尽管它以一种或另一种方式创建记录。
根本不使用数据库,而是使用一些中间存储(键/值存储;消息队列;内存缓存;电子邮件;只是一些文件;想到什么;))
使用选项 2,您可以轻松地按照您的问题的 2 位评论者所说的那样做:创建一个数据结构并序列化该结构并将其存储在任何地方,直到管理员“批准”数据并将其更新到数据库中。
乍一看,第二个选项当然会更快实现,尽管在数据库中实现它可以使您能够通过使用当前或状态标志来“回滚”更改。其次,恕我直言,您希望将所有(相关)数据放在一起以保持可维护性