Postgresql scala.slick.SlickException:JdbcProfile没有用于类型UnassignedType-on选项字段的JdbcType
通过扩展表的类,我成功地将不带可选字段的案例类映射到Postgres db。 现在我需要使用带有可选[String]和可选[DateTime]字段的case类 我发现了如何为它声明映射:Postgresql scala.slick.SlickException:JdbcProfile没有用于类型UnassignedType-on选项字段的JdbcType,postgresql,scala,exception,mapping,slick,Postgresql,Scala,Exception,Mapping,Slick,通过扩展表的类,我成功地将不带可选字段的案例类映射到Postgres db。 现在我需要使用带有可选[String]和可选[DateTime]字段的case类 我发现了如何为它声明映射: case class Issue(id: Int, key: String, ... resolutionName: Option[String], resolutionDate: Option[DateTime], ) case class Issues(tag: Ta
case class Issue(id: Int,
key: String,
...
resolutionName: Option[String],
resolutionDate: Option[DateTime],
)
case class Issues(tag: Tag) extends Table[Issue](tag, "Issues") {
// This is the primary key column:
def id = column[Int]("id", O.PrimaryKey)
def key = column[String]("key")
...
def resolutionName = column[String]("resolutionName")
def resolutionDate = column[DateTime]("resolutionDate")
def * = (id, key, resolutionName.?, resolutionDate.?) <> (Issue.tupled, Issue.unapply)
}
我该怎么做才能使其工作?列也必须定义为
选项
s:
def resolutionName = column[Option[String]]("resolutionName")
def resolutionDate = column[Option[DateTime]]("resolutionDate")
此外,您还可以避免投影函数中的?
,因为这些值已映射为选项:
def * = (id, key, resolutionName, resolutionDate) <> (Issue.tupled, Issue.unapply)
def*=(id,key,resolutionName,resolutionDate)(Issue.tuple,Issue.unapply)
谢谢!现在可以了!(对不起,我不能投票支持你的答案,因为我在这里没有足够的声望)
def * = (id, key, resolutionName, resolutionDate) <> (Issue.tupled, Issue.unapply)