Поддерживает ли opaleye поддержку upsert / INSERT ON CONFLICT?

Я пытаюсь создать такой запрос:

INSERT INTO users (id, level)
VALUES (1, 0)
ON CONFLICT (id) DO UPDATE
SET level = users.level + 1;

Однако я не вижу, как это сделать с opaleye? Это не поддерживается?

Как ни странно у нас Insert определяется полем iOnConflict :: Maybe OnConflict. ОднакоOnConflict определяется как: data OnConflict = DoNothing так это сейчас просто похоже на заполнитель?

После рассмотрения проблемы, указанной на github, я вижу, что это приводит к этому возможному PR: https://github.com/tomjaguarpaw/haskell-opaleye/pull/385/files, но я действительно не могу понять это? Я не уверен, реализует ли он только заполнитель или действительно реализует функциональность.

1 ответ

Решение

Во-первых, вы, как правило, получите более быстрый и, возможно, лучший ответ на подобные вопросы, если отправите новую проблему в репозиторий Opaleye.

Opaleye в настоящее время поддерживает только ON CONFLICT DO NOTHING. Однако я рад рассмотреть возможность поддержки дополнительных функций. Пожалуйста, присоединяйтесь к новой проблеме или к уже существующей соответствующей проблеме.

Другие вопросы по тегам