Scala Slick默默地无法保存,也没有';t';抛出异常

Scala Slick默默地无法保存,也没有';t';抛出异常,scala,slick,Scala,Slick,我和斯里克遇到了一个非常可怕的情况。我的表定义引用了一个错误的列,我注意到没有插入的插入项没有关于该问题的错误/异常。它只是“无声地”失败了 这是正常的狡猾行为吗 因此,我的表定义如下: def expiredAt = column[Timestamp]["created_at"] def createdAt = column[Timestamp]["created_at"] 如您所见,这两个字段引用的列都是同一列“created_at”。当我将expiredAt列更改为“expire

我和斯里克遇到了一个非常可怕的情况。我的表定义引用了一个错误的列,我注意到没有插入的插入项没有关于该问题的错误/异常。它只是“无声地”失败了

这是正常的狡猾行为吗

因此,我的表定义如下:

  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。

遇到同样的问题,使用recover解决:

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

遇到同样的问题,使用recover解决:

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

我不知道Slick,但我见过bonecp(默认为play不知道Slick,但我见过bonecp(默认为play不知道Slick,但我见过bonecp(默认为play@AlvaroCarrasco我目前正在使用bonecp,play为2.3.10。是的,我也有同样的问题,浪费了几个小时试图找到问题。当我切换到HikariCP时停止了。如果可以,升级到play 2.4(默认使用HikariCP)。如果你坚持使用2.3,你必须使用hikaricp播放插件。@AlvaroCarrasco很感激,为什么不把它放在回答中而不是评论中呢?你正在检查
Future
的结果,而
db.run
返回的结果吗?除非你在某个时候取消对
Future
的引用(通过
map
Await
或其他方式),异常会静静地坐在里面。我不知道Slick,但我见过bonecp(默认为play@AlvaroCarrasco我目前正在使用bonecp,play为2.3.10。是的,我也有同样的问题,浪费了几个小时试图找到问题。当我切换到HikariCP时停止了。如果可以,升级到play 2.4(默认使用HikariCP)。如果你坚持使用2.3,你必须使用hikaricp播放插件。@AlvaroCarrasco很感激,为什么不把它放在回答中而不是评论中呢?你正在检查
Future
的结果,而
db.run
返回的结果吗?除非你在某个时候取消对
Future
的引用(通过
map
wait
或其他方式),异常将静静地坐在里面。但我甚至没有看到异常。你的意思是,除非我添加,否则异常将被吞没。恢复?异常不会被吞没;它将被记录在
Future
中,由
db.run
返回。你需要检索
Future
的结果,以评估成功与否s或失败。但我甚至没有看到异常。你的意思是除非我添加,否则异常将被吞没。恢复?异常不会被吞没;它将被记录在
Future
中,该
Future由
db.run
返回。你需要检索
Future
的结果,以衡量成功或失败。