opaleye是否支持upsert /在冲突中插入?

时间:2020-05-31 11:21:40

标签: haskell opaleye

我正在尝试创建一个查询,例如:

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 个答案:

答案 0 :(得分:2)

首先,如果您会回答此类问题,通常会更快,甚至可能更好 file a new issue on the Opaleye repo

Opaleye当前仅支持ON CONFLICT DO NOTHING。我很高兴研究支持更多功能。请通过新期刊或在a relevant existing one上收听。