質問: m.sex).exists.result.flatMap { case true => DBIO.successful(false) case false => (userTable += m).andThen(DBIO.successful(true)) } }).head.transactionally ```
回答: `DBIO.failed()` で常に失敗する DBIOAction が作れます。 また `DBIO.sequence()` で `Seq[DBIOAction[]]` を `DBIOAction[Seq[]]` に変換できます。 次のようになると思います。 ``` // Example val insertIfNotExists = DBIO.sequence { newUsers.map { m => userTable.filter(f => f.id === m.id && f.sex === m.sex).exists.result.flatMap { case true => DBIO.failed(new RuntimeException(s"record already exists for id: ${m.id}")) case false => userTable += m } } }.transactionally ```