I saw discourse db table schema only has several foreign keys, is there any reason to not use the foreign keys in most tables?
Bonjour,
Je viens sur le forum poser exactement la même question après avoir consulté les tableaux.
Dans ma connaissance limitée, les contraintes ont probablement été gérées au niveau de Rails avec des modèles. Mais j’aimerais en savoir plus à ce sujet.
Nous réfléchissons à ce problème et n’avons pas encore pris de décision claire et définitive.
Certains d’entre nous souhaitent que toutes les clés étrangères soient définies dans PostgreSQL, estimant que les avantages surpassent largement les risques. D’autres estiment qu’opérer un changement aussi radical maintenant serait risqué.
Les clés étrangères introduisent en effet des contraintes dans la base de données. Par exemple, si la table category_users avait une contrainte imposant que category_id doive être un id valide dans la table categories, à chaque insertion dans category_users, nous devrions vérifier cette condition, ce qui ajoute un certain coût, d’autant que nous avons de nombreuses dépendances en jeu.
Quoi qu’il en soit, c’est une préoccupation dont nous sommes conscients.
