1

我有一个网站正在进行中,用户可以在其中创建提要中的帖子,并且可能有很多提要。他们的个人资料将显示他们选择的默认提要。

这个悖论中的 3 个表是“accounts”、“profiles”和“feeds”。配置文件中的条目包含有关用户的附加信息。这是在一个单独的表中,因为它可能会被更频繁地修改,并且许多查询使用帐户表而不需要此信息。

帐户(配置文件)中的字段必须引用配置文件。我已经这样做了,而不是让配置文件引用帐户,因为否则帐户可能会在没有配置文件的情况下存在。没有帐户的个人资料将是停用帐户的结果(前提是用户明确选择不将其个人资料从站点中删除)。

配置文件 (default_feed) 中的字段必须引用一个提要。这可能会经常更改,并且大多数查询都不需要,因此这似乎是该数据的明智之选。

提要中的字段必须引用帐户;所有提要都有一个创建者。

您可能已经可以看到我的问题,但我会详细说明:不创建个人资料就无法创建帐户,不创建提要就无法创建帐户,不创建帐户就无法创建帐户, ETC...

我必须放弃停用帐户的配置文件功能(这不是什么大不了的事,但我想知道是否有其他方法),或者是否有一个明智的技巧可以让我解决自相矛盾的性质这种关系?

编辑:我意识到我可以简单地将 default_feed 字段设置为允许为空,并让应用程序处理这种特殊情况(无论如何都不应该发生,因为提要是使用帐户创建的),并带有“这个用户有没有默认提要”消息。我仍然想知道我是否错过了一个更有创意的解决方案。

4

1 回答 1

2

打破依赖关系的一种简单方法是使配置文件中的 default_feed 可以为空。

  • 首先创建一个默认提要设置为 null 的配置文件
  • 创建引用该配置文件的帐户。
  • 设置帐户后,使用已创建为所有者的帐户创建默认提要。
于 2013-08-02T06:28:40.540 回答