opaleye 是否支持 upsert / INSERT ON CONFLICT?
Does opaleye support upsert / INSERT ON CONFLICT?
我正在尝试创建如下查询:
INSERT INTO users (id, level)
VALUES (1, 0)
ON CONFLICT (id) DO UPDATE
SET level = users.level + 1;
但是我看不到如何用 opaleye 做到这一点?这不支持吗?
奇怪的是我们有 Insert
defined with a field of iOnConflict :: Maybe OnConflict
。但是 OnConflict
被定义为:data OnConflict = DoNothing
所以它现在看起来只是一个占位符?
在 github 上列出的问题之后,我看到它导致了这个最终的 PR:https://github.com/tomjaguarpaw/haskell-opaleye/pull/385/files 但我真的无法理解它?我不确定它是仅实现了占位符,还是实际实现了功能。
首先,如果你
file a new issue on the Opaleye repo.
Opaleye 目前仅支持 ON CONFLICT DO NOTHING
。不过,我很高兴考虑支持更多功能。请加入新问题或 a relevant existing one.
我正在尝试创建如下查询:
INSERT INTO users (id, level)
VALUES (1, 0)
ON CONFLICT (id) DO UPDATE
SET level = users.level + 1;
但是我看不到如何用 opaleye 做到这一点?这不支持吗?
奇怪的是我们有 Insert
defined with a field of iOnConflict :: Maybe OnConflict
。但是 OnConflict
被定义为:data OnConflict = DoNothing
所以它现在看起来只是一个占位符?
在 github 上列出的问题之后,我看到它导致了这个最终的 PR:https://github.com/tomjaguarpaw/haskell-opaleye/pull/385/files 但我真的无法理解它?我不确定它是仅实现了占位符,还是实际实现了功能。
首先,如果你 file a new issue on the Opaleye repo.
Opaleye 目前仅支持 ON CONFLICT DO NOTHING
。不过,我很高兴考虑支持更多功能。请加入新问题或 a relevant existing one.