Scala projekcji w Slick tylko dla jednej kolumny
Idę zaPrzykład zręcznej dokumentacji dla pól autoinkrementacji i mam problem z utworzeniemodwzorowanie odwzorowane że ... cóż, ma tylko jedną kolumnę.
case class UserRole(id: Option[Int], role: String)
object UserRoles extends Table[UserRole]("userRole") {
def id = column[Int]("ID", O.PrimaryKey, O.AutoInc)
def role = column[String]("ROLE")
// ...
def * = id.? ~ role <> (UserRole, UserRole.unapply _)
// NEXT LINE ERRORS OUT
def forInsert = role <> ({t => UserRole(None, t._1)}, {(r: UserRole) => Some((r.role))}) returning id
}
Błąd to „wartość <> nie jest członkiem scala.slick.lifted.Column [String]”
Pomyślałem też, że zaprojektowanie mojego schematu będzie bardziej efektywne:
case class UserRole(role: String)
object UserRoles extends Table[UserRole]("userRole") {
def role = column[Int]("ROLE", O.PrimaryKey)
// ...
def * = role <> (UserRole, UserRole.unapply _)
}
Ale potem zaczynam otrzymywać ten sam błąd, co powyżej. „wartość <> nie jest członkiem scala.slick.lifted.Column [String]”
Co ja tak naprawdę robię Czy po prostu nie mamwystęp już ponieważ mam tylko jedną kolumnę? Jeśli tak to copowinien Robię?