Prendi in considerazione una prices
tabella con queste colonne:
id integer primary key
product_id integer -- foreign key
start_date date not null
end_date date not null
quantity integer
price numeric
Vorrei che il database imponesse la regola secondo cui un prodotto può avere un solo prezzo per una quantità specifica in un intervallo di date (via where <date> BETWEEN start_date AND end_date
).
È possibile questo tipo di vincolo basato sull'intervallo?
daterange
sia esattamente lo stesso dal momento che ha un limite inferiore esclusivo, ma è facile da risolvere. Dovrei davvero migrare i miei dati per utilizzare undaterange
tipo di colonna (può fare una domanda separata se è meglio) o è ragionevole questa cosa a due colonne?