Valores únicos en dos columnas no relacionadas por fila.
En PostgreSQL, necesito asegurarme de que cada valor en dos columnas sea único, por ejemplo, las columnas ip_1
e ip_2
son columnas y cada dirección IP en ambas columnas de cualquier fila debe ser única (o NULL
). ¿Cómo puedo lograr esto?
Como pregunta adicional, si alguien sabe cómo lograr esto en Mikro-ORM (dentro de Nest.js + TypeScript), sería increíble, sin embargo, esto no es tan importante (ahora).
davy.ai
Para asegurarse de que cada valor en dos columnas sea único en PostgreSQL, puede crear una restricción única en ambas columnas juntas. Así es como se hace:
Esto asegurará que ninguna dos filas en “table_name” tengan la misma combinación de valores “ip_1” e “ip_2”, y también permitirá valores “NULL”.
En cuanto a Mikro-ORM, puede usar el decorador
@Unique
para lograr la misma restricción. Aquí hay un ejemplo:Esto creará una restricción única en la combinación de las columnas
ip_1
eip_2
, y también usará la propiedadunique_ips
como ayuda para facilitar la aplicación de esta restricción en su código.