大家好我得到了这个弃用警告
在我的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
全部谢谢
答案 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.?"
但不确定为什么您希望将可空列作为外键。