我有一个应用程序,我需要在博客段落上发表评论,而不是在博客上发表评论。段落由两个换行符分隔。
我将使用post.split('\n\n')
拆分收到的帖子,将帖子和段落保存在单独的表(Blog
和Paragraphs
)中。现在,每当收到新注释时,我都会将其连同收到的para_id保存在Comments
表中。
以下是我计划构建的数据库模式。
表博客
-id
-title
-date
表格段落
-id
-para
-sequence_no
-blog_id(FK)
表注释
-id
-comment
-para_id(FK)
-date
上面的设计有一些缺陷。考虑一个帖子更新的示例,即在两个段落之间插入了一个新段落,或者一个段落被完全删除。这将导致序列(序号)失真。我将如何处理这种用例?
最佳答案
计算每个段落的唯一哈希值,并使用PostID + ParagraphHash的组合作为主键。
将时间戳记与每个段落一起存储。每次用户编辑帖子时,请更新现有段落的时间戳。很容易发现已删除的段落。
关于mysql - 应用程序的数据库架构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45779147/