Projeções do Scala no Slick para apenas uma coluna
Estou seguindo oExemplo de documentação engenhosa para campos de incremento automático e estou tendo problemas para criar umprojeção mapeada isso ... bem, só tem uma coluna.
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
}
O erro é "valor <> não é um membro de scala.slick.lifted.Column [String]"
Eu também pensei que seria mais eficiente projetar meu esquema da seguinte forma:
case class UserRole(role: String)
object UserRoles extends Table[UserRole]("userRole") {
def role = column[Int]("ROLE", O.PrimaryKey)
// ...
def * = role <> (UserRole, UserRole.unapply _)
}
Mas então eu começo a receber o mesmo erro como acima, também. "valor <> não é um membro de scala.slick.lifted.Column [String]"
O que estou realmente fazendo? Eu simplesmente não tenho umprojeção mais porque eu só tenho uma coluna? Se sim, o quedevemos Eu estou fazendo?