簡體   English   中英

Slick默默地保存失敗,並且不會引發異常

[英]Slick silently fails to save and doesn't' throw an exception

我剛好碰到一個非常可怕的情況。 我的表定義引用了錯誤的列,我注意到在未插入的地方插入,但沒有關於該問題的錯誤/異常。 它只是“無聲地”失敗了。

這是正常的光滑行為嗎?

所以我的表定義就像:

  def expiredAt = column[Timestamp]["created_at"]
  def createdAt = column[Timestamp]["created_at"]

如您所見,兩者引用的列都是同一列“ created_at”。 當我將expiredAt列更改為“ expired_at”時,一切正常。

但是對我來說真正的問題是根本沒有拋出異常。

這是正常的光滑行為嗎? 幕后到底是怎么回事? 它對updatedRows是否不返回0?

我的保存方法如下:

(users returning users.map(_.id)) += user 

我正在使用slick3。

遇到相同的問題,並通過恢復解決了它:

val query = (users returning earningsForms.map(_.id) += user
db.run(query).recover{ ex: Throwable => Logger.error("Error occured when inserting user", ex)}

不了解Slick,但是我看到在某些情況下bonecp(默認播放<2.4)會吞下異常。

我遇到了同樣的問題,浪費了很多時間去尋找問題。 當我切換到HikariCP時停止發生。 如果可以,請升級至播放2.4(默認情況下使用hikaricp)。 如果您堅持使用2.3,則必須使用hikaricp play插件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM