Я пытаюсь отобразить следующую модель ER в PostgreSQL, и у меня возникают проблемы с таблицей Issue_Label . Требуется ключ из таблицы Issue , который является id , и ключ из таблицы Label , который представляет собой пару (id, project_id) .
Однако я хочу убедиться, что project_id из таблицы Issue (которая не является частью первичный ключ) и таблица Label совпадают. Я попробовал следующее:
CREATE TABLE issue_label (
issue_id UUID,
label_name TEXT,
project_id UUID,
FOREIGN KEY (issue_id, project_id) REFERENCES issue(id, project_id),
FOREIGN KEY (label_name, project_id) REFERENCES label(name, project_id),
PRIMARY KEY (issue_id, label_name, project_id)
);
, но я продолжаю получать эту ошибку:
ERROR: there is no unique constraint matching given keys for referenced table "issue"
SQL state: 42830
Как это исправить, желательно без необходимости изменения таблицы Issue ключ?