scala弃用警告与playframework和光滑

时间:2017-06-26 06:37:42

标签: scala playframework slick

大家好我得到了这个弃用警告

在我的playframework应用程序中使用scala和slick

[warn] 
\app\dto\processTemplateDTO.scala:95: method columnToOptionColumn in trait API is deprecated: Use an explicit conversion to an Option column with `.?`
[warn]     def processtemplateFK: ForeignKeyQuery[ProcessTemplates, ProcessTemplatesModel] = foreignKey("Process", processtemplate, processTemplates)(_.id, onUpdate = ForeignKeyAction.Restrict, onDelete = ForeignKeyAction.Cascade)
我可以使用吗?而不是_.id

全部谢谢

1 个答案:

答案 0 :(得分:1)

它的含义是,在编写您的provenShape实现时,您应该使用以下方法将非选项列提升为可选:

case class Coffee(id: Option[Int],name: String)

class Coffees(tag: Tag) extends Table[Coffee]("coffees",tag){
  def id: Rep[Int] = column[Int]("id",O.AutoInc)
  def name: Rep[String] = column[String]("name")
  //see the .? method
  def *: ProvenShape[Coffee] = (id.?,name) <> (Coffee.tupled,Coffey.unapply) 
}

在您的情况下尝试"_.id.?"但不确定为什么您希望将可空列作为外键。