我有一个包含用户帖子的数据库。
用户可以选择删除帖子,而不是确认删除,我想有一个撤消选项,点击后恢复帖子。如果用户刷新页面或离开页面,撤消选项将消失。
使用当前解决方案,数据库会在用户按下确认按钮后立即删除帖子。但是,我猜测我必须在删除后保留帖子,以便可以使用撤消选项恢复,但是我何时以及如何删除帖子?
编辑:
有没有办法安排删除,比如用户删除后24小时?我知道我可以使用cron,但是对于很多用户来说,这需要大量的cron工作。
感谢。
答案 0 :(得分:0)
不要“物理”删除记录。将其标记为“已删除”(例如,对于“已删除”,将status
引入并设置为0
,为其他人添加1
。这将需要更改表格。但是这样你几乎可以有无限的选择,即你可以在“删除”帖子上设置deleted_timestamp
并让cron job删除旧帖子。
只是澄清一下,系统的cron作业不是你唯一的选择。您可以管理每100个常规用户请求以执行后台作业,例如使用if (rand ( 1 , 100 ) === 50) {do_pseudocron_job();}
答案 1 :(得分:0)
如果您使用的是Oracle或Vertica,您可以使用闪回查询,使用它仍然可以删除,并且如果仍然可以回滚,请查看详细信息:
https://docs.oracle.com/cd/B19306_01/backup.102/b14192/flashptr002.htm