Proyecciones de Scala en Slick para una sola columna
Estoy siguiendo elEjemplo de documentación pulida para campos de autoincremento y estoy teniendo problemas para crear unproyección mapeada que ... bueno, solo tiene una columna.
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
}
El error es "el valor <> no es un miembro de scala.slick.lifted.Column [String]"
También pensé que sería más eficiente diseñar mi esquema así:
case class UserRole(role: String)
object UserRoles extends Table[UserRole]("userRole") {
def role = column[Int]("ROLE", O.PrimaryKey)
// ...
def * = role <> (UserRole, UserRole.unapply _)
}
Pero luego empiezo a tener el mismo error que el anterior, también. "valor <> no es un miembro de scala.slick.lifted.Column [String]"
¿Qué estoy haciendo realmente? ¿No tengo unaproyección mas porque solo tengo una columna? Entonces quédebería Estaré haciendo?