持续更新

rah*_*ola 5 haskell persistent yesod

如何在持久性中进行原子增补?

尚未设法找到一种使用持久性API进行upsert,插入或更新操作的方法。在insertBy之后更新之类的东西似乎是最接近的东西。但是,如果我不了解某些错误,那将不是原子的,因此很容易出现比赛条件。

Cac*_*tus 4

最新版本persistent支持upsert

upsert :: (MonadIO m, PersistEntityBackend val ~ backend, PersistEntity val)     
       => val -> [Update val] -> ReaderT backend m (Entity val) 
Run Code Online (Sandbox Code Playgroud)