1

ユーザーがフィードで投稿を作成する進行中の Web サイトがあり、多くのフィードがある場合があります。プロファイルには、選択したデフォルトのフィードが表示されます。

このパラドックスの 3 つのテーブルは、「アカウント」、「プロファイル」、および「フィード」です。プロファイルのエントリには、ユーザーに関する追加情報が含まれています。これは、より頻繁に変更される可能性があり、多くのクエリがこの情報を必要とせずに accounts テーブルを使用するため、別のテーブルにあります。

アカウント (プロファイル) のフィールドは、プロファイルを参照する必要があります。プロファイルがアカウントを参照する代わりに、これを行いました。そうしないと、プロファイルがなくてもアカウントが存在する可能性があるためです。アカウントなしで存在するプロファイルは、非アクティブ化されたアカウントの結果です (ユーザーがプロファイルをサイトから削除しないことを明示的に選択した場合)。

プロファイル (default_feed) のフィールドは、フィードを参照する必要があります。これは頻繁に変更される可能性があり、ほとんどのクエリでは必要ないため、このデータの適切な場所と思われます。

フィードのフィールドは取引先を参照する必要があります。すべてのフィードには作成者がいます。

私の問題はもうおわかりかもしれませんが、詳しく説明します。プロファイルを作成しないとアカウントを作成できない、フィードを作成しないと作成できない、アカウントを作成しないと作成できない、等...

非アクティブ化されたアカウントのプロファイルの機能を放棄する必要がありますか (大したことではありませんが、別の方法があるかどうか知りたいです)、またはプロファイルの逆説的な性質を解決できる賢明なトリックはありますか?この関係?

編集: null を許可するように default_feed フィールドを設定するだけで、アプリケーションでこの特別なケースを処理できることに気付きました (フィードはアカウントで作成されるため、とにかく発生することはありません)。デフォルトのフィードはありません」というメッセージ。ただし、より創造的な解決策を見逃していないかどうかはまだ知りたいです。

4

1 に答える 1

2

依存関係を解消する簡単な方法の 1 つは、プロファイルの default_feed を null 可能にすることです。

  • デフォルトのフィードを null に設定してプロファイルを作成することから始めます
  • そのプロファイルを参照するアカウントを作成します。
  • アカウントが設定されたら、所有者として作成されたアカウントでデフォルト フィードを作成します。
于 2013-08-02T06:28:40.540 に答える