У меня есть таблица доступности:
CREATE TABLE availability (
id SERIAL PRIMARY KEY,
user_id int REFERENCES users(id) NOT NULL,
address_id int REFERENCES addresses(id) ON DELETE CASCADE,
day_of_week int NOT NULL,
start_mn int,
end_mn int,
EXCLUDE using gist (user_id WITH =, day_of_week WITH =, (array[start_mn, end_mn]) WITH &&)
)
В моей таблице адресов у меня также есть поле user_id
, которое ссылается на users(id)
.
Каким будет лучший способ убедитесь, что вставленный связанный адрес имеет тот же user_id, что и тот, который указан в таблице доступности?
Я безуспешно пытался найти триггер или функцию, и я хотел бы знать, есть ли способ c справиться с этим.