Para mí, la sabiduría clásica es almacenar valores enum (OrderStatus, UserTypes, etc.) como tablas de búsqueda en su db. Esto me permite forzar la integridad de los datos en la base de datos, evitando valores falsos o nulos, etc.Enumeraciones en DB o NO Enums en DB
Sin embargo, cada vez más, esto me parece una duplicación innecesaria. No solo tengo que crear tablas para estos valores (o tener una tabla de búsqueda central difícil de manejar), pero si quiero agregar un valor, tengo que recordar agregarlo a 2 (o más, contando producción, prueba, db en vivo) y las cosas pueden desajustarse fácilmente.
Todavía tengo dificultades para abandonar las tablas de búsqueda.
Sé que hay probablemente ciertos escenarios donde uno tiene una ventaja sobre el otro, pero ¿cuáles son sus pensamientos generales?
¿Cómo se ocupa de asegurarse de que ninguna fila tenga un valor no válido para su enumeración? ¿Solo usando el código que accede al DB? –