我正在使用Slick 3.0.3并且找不到insert
insertOrUpdate
中可用的任何slick.lifted.TableQuery
或import 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)
答案 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)