我们有一个 MySQL 表,其中包含几个布尔列,这些列指定了用户可能拥有的角色。是否有可能使用 slick 的提升嵌入来编写一个类型映射器,该类型映射器将这些多列组合并转换为案例类 User 中的一个字段,如下所示?
case class User(id: Option[Int], nickname: String, role: Seq[Role.Role])
object Users extends Table[(User)]("ask_user") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def nickname = column[String]("nickname")
def is_editor = column[Boolean]("is_editor")
def is_moderator = column[Boolean]("is_moderator")
def is_administrator = column[Boolean]("is_administrator")
def is_usermoderator = column[Boolean]("is_usermoderator")
def is_usermoderator2 = column[Boolean]("is_usermoderator2")
def is_partner = column[Boolean]("is_partner")
def is_premium_partner = column[Boolean]("is_premium_partner")
def is_corporate_paid = column[Boolean]("is_corporate_paid")
}