Pour moi, la sagesse classique est de stocker des valeurs enum (OrderStatus, UserTypes, etc) comme tables de recherche dans votre base de données. Cela me permet de renforcer l'intégrité des données dans la base de données, en empêchant les valeurs fausses ou nulles, etc.Enums dans la DB ou NO Enums dans la DB
Cependant, de plus en plus, cela ressemble à une duplication inutile pour moi. Non seulement dois-je créer des tables pour ces valeurs (ou avoir une table de consultation centrale lourde), mais si je veux ajouter une valeur, je dois me rappeler de l'ajouter à 2 (ou plus, comptant la production, les essais,) et les choses peuvent se désynchroniser facilement.
J'ai encore du mal à relâcher les tables de recherche.
Je sais qu'il y a probablement certains scénarios où l'un a un avantage sur l'autre, mais quelles sont vos pensées générales?
Comment gérez-vous le fait qu'aucune ligne n'a une valeur invalide pour leur énumération? Juste en utilisant le code qui accède à la base de données? –