Slick中的不对称表投影

时间:2014-08-15 19:56:16

标签: scala slick

是否有可能为select * vs insert设置非对称项目?例如,这就是我想要做的事情:

class Users(tag: Tag)
  extends Table[(String, String)](tag, "users") {


    def username = column[String]("username", O.PrimaryKey)
    def email = column[String]("email", O.NotNull)
    def password = column[String]("password", O.NotNull)

    def * = (username, email)

}

val users = TableQuery[Users]

users += ("username", "email", "password")
println(users.take(1).firstOption) // prints ("username, "email)

有没有实用的方法让这项工作?主要问题是插入,抱怨参数太多,因为它与投影不匹配。

1 个答案:

答案 0 :(得分:1)

未经测试,但如何:

def withPassword = (username, email, password)

然后用作:

users.withPassword += ("username", "email", "password")

我认为这是重载*投影的一般方法。

相关问题