私はScalaを初めて使い、slick(3.1.1)について学んでいます。テーブルにデータを挿入するための特定のコードを書く際に、行がない場合はその行を挿入し、そのテーブルの特定の列を更新する必要があります。slickを使った挿入が機能しない
def updateDate(id: Int, country : Country, lastDate: DateTime)(implicit ec: ExecutionContext) =
byPKC.applied((id, country,)).map(_.lastMessageDate).update(lastDate) flatMap {
case 0 ⇒
create(User.withLastDate(id, country, lastDate))
case x ⇒ DBIO.successful(x)
}
は今、私はこのためにScalaで一括操作を行う方法がわからない午前:単一行の更新のために私は正常に動作し、次のコードを、書かれています。私は、効率的ではありませんが、テーブルに挿入されている行はありませんが、以下を試しました。
def updateDates(ids: Set[Int], country: Country, lastDate: DateTime)(implicit ec: ExecutionContext) = {
ids.foreach(e ⇒ updateDate(e, country, lastDate))
DBIO.successful(1)
}
スカラで一括書き込みを行うにはどうすればよいですか?また、なぜこの一括操作は機能しませんか?どんな助けでも大歓迎です。