光滑无声地无法保存,也没有“保存”。抛出一个例外

时间:2016-01-03 18:04:12

标签: scala slick

我刚刚遇到一个非常可怕的情况。我的表定义引用了一个错误的列,我注意到尚未插入的插入没有关于该问题的错误/异常。它只是默默地"失败。

这是正常的光滑行为吗?

所以我的表定义如下:

  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。

2 个答案:

答案 0 :(得分:3)

遇到同样的问题,用recover:

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

答案 1 :(得分:1)

不知道Slick,但我见过bonecp(默认播放< 2.4)在某些条件下吞下异常。

我有同样的问题,浪费了几个小时试图找到问题。当我切换到HikariCP时停止发生。如果可以,请升级到2.4(默认情况下使用hikaricp)。如果你坚持使用2.3,你将不得不使用hikaricp play插件。