使用Slick时我应该检查插入计数吗?

时间:2018-01-29 16:31:27

标签: scala slick

我有Users表,想要在其中插入User并将OkError返回到前端。

我认为插入时可能没有更新,所以我总是检查这样的插入计数:

 // Somewhere in userService
 def add(user: User): Future[Int] = db.run(users += user)
 ...
 // Routes
 onSuccess(add(newUser)) {
    case insertCount if insertCount == 1 =>
      complete(Ok)
    case _ =>
      complete(Error)
 } 

但是在阅读Bootzooka代码时,我发现他们并不关心更新计数:

def add(user: User): Future[Unit] = db.run(users += user).mapToUnit

我应该关心插入计数吗?或者,如果没有插入,Future会失败吗?

1 个答案:

答案 0 :(得分:1)

不,不是必需的。如果任何insert语句失败,则Slick抛出异常。

您可以安全地忽略返回的int值。