我有一个应用程序,其中包含已发布的内容和正在审核的内容。我将它们保存在分开的表格中。
当审核的内容发布时,我可以对所有内容进行投票和评论,然后将其插入已发布的表格,但不保存投票和评论,因为它们在不同的表格中都是分开的。
表:已发布,已发布_votes,published_comments,reviewing,reviewing_votes,reviewing_comments
我想保留投票和评论,问题是新帖子必须有一个新的自动增量ID,因为我显示按id排序的内容,否则如果我按照时间戳订购出版物,使得出现文件而且它不是一种选择。
所以我将加入所有表并且只有3个,当发布内容时,我可以在表上进行新的插入或更新我认为更糟糕的id。但是问题是我必须将所有投票和评论更新为新发布的ID,在某些情况下可能会有数千张投票,而且此更新必须在此时进行,我想我可以异步进行并延迟发布。但我也不认为这是一个很好的解决方案。
有什么想法吗?
PD:理想情况下我想要的是将新出版物放在表或索引的末尾而不更改id,当我选择出版物时,它们按照其在桌面上的物理位置或从底部索引来排序数值指数值,但很明显,据我所知,这是不可能的。答案 0 :(得分:0)
将未发布内容保存在单独的表中的原因是什么?
您可以将同一个表格中的所有内容以及子表格中的相应投票和评论。根据列'类型'来区分内容。或者' status' (发表/评论)。
Content(Id, Title, Text, Status, ...)
Votes(Id, ContentId, ...)
Comments(Id, ContentId, ...)
当新插入内容时,其状态为“正在审核”。然后,可以通过更改“状态”来发布内容。发表'。此外,您可以保留时间戳,以便在内容状态更改为“已发布”时保存。
您的系统需要更改设计级别,但越快越好。