Slick 3.0.3 TableQuery insert和insertOrUpdate方法在哪里?

时间:2015-09-29 15:27:51

标签: scala slick

我正在使用Slick 3.0.3并且找不到insert insertOrUpdate中可用的任何slick.lifted.TableQueryimport slick.lifted.TableQuery // generated code class Fund(_tableTag: Tag) extends Table[FundRow](_tableTag, "fund") {...} lazy val Fund = new TableQuery(tag => new Fund(tag)) // client code val fundQuery = TableQuery[Fund] fundQuery.insertOrUpdate(...) // not found 函数我的IDE甚至无法看到任何内容,当我走的时候到Scala Docs slick.lifted.TableQuery我看到这些方法已经不再可用了...你现在怎么能在Slick 3.0.3上加入?例如

answer = adjust_range(min_range, max_range, answer, inputtext)

1 个答案:

答案 0 :(得分:1)

要访问表函数,您需要为正在使用的驱动程序的API添加导入;例如,对于H2:

import skick.driver.H2Driver.api._

此时您应该能够使用这些函数插入数据库:

val insertAction: DBIO[Int] = fundQuery += aFund
val insertOrUpdateAction: DBIO[Int] = fundQuery.insertOrUpdate(aFund)

值得注意的是,这些函数返回DBIO,然后您需要使用数据库实例运行才能获得Future

val result: Future[Int] = someDb.run(insertAction)