针对不同用户的不同视图

时间:2016-07-17 21:29:41

标签: mysql sql oracle soft-delete

假设我有一个包含3个表的数据库:<!-- classpath, haxe libs --> <source path="src" /> <haxelib name="openfl" /> <haxelib name="swf" /> <haxelib name="actuate" /> <!-- assets --> <library path="Assets/library.swf" type="swflite" preload="true" generate="true" /> <assets path="Assets" rename="assets" exclude="openfl.svg|*.swf" /> <icon path="Assets/openfl.svg" /> StreamTag

  • Stream有一个标签。多个流可以具有相同的标记。
  • Stream由一位用户拥有。
  • 标签有很多帖子。
  • 不同的标签可以有相同的帖子。
  • 每个打开他的信息流的用户都会获得它的帖子(通过标签),并且可以删除(或隐藏)他不想看到的帖子(但仅限于他,而不是其他人)。

实现这一目标的适当方法是什么?显然我在帖子上需要某种软删除标志。我目前有两个想法:

  1. 使用列Poststream_idpost_id
  2. 创建另一个将充当流视图的表
  3. is_deleted列添加到deleted,其中包含已删除帖子的JSON数组&#39; IDS。这种方法的问题是基于is_deleted状态进行查询。
  4. 有没有更好的方法?

    注意:目前,我需要Stream留在自己的桌子中,而不是将其作为文本存储在Tag

    的列中

1 个答案:

答案 0 :(得分:0)

你应该有一个包含post_id,is_deleted&amp;列的新表。用户身份。 通过这种方式,您可以轻松地管理它,或者根据您的选择考虑,它将是繁忙的工作。 表名称将与交叉引用表ex:user_deleted_posts_xref

类似