I saw discourse db table schema only has several foreign keys, is there any reason to not use the foreign keys in most tables?
こんにちは、
テーブルを確認した上で、全く同じ質問をフォーラムに投稿させていただきます。
私の限られた知識では、制約はおそらくモデルを介してRailsレベルで処理された可能性があります。しかし、この点についてさらに詳しく知りたいです。
私たちはこの問題を検討しており、まだ明確な結論には至っていません。
一部のメンバーは、すべての外部キーを PG で定義することを強く望んでおり、そのメリットがリスクを大きく上回ると考えています。一方で、今のような抜本的な変更を行うことはリスクが伴うと感じている人もいます。
外部キーはデータベースに制約を導入します。例えば、category_users テーブルに category_id が categories テーブルの存在する有効な id であるという制約がある場合、category_users にデータを挿入するたびにその確認が必要になり、コストが増加します。また、現在多くの依存関係が存在しています。
いずれにせよ、これは私たちが認識している懸念事項です。
