Я хочу создать метод вставки, который позволяет данным DateTime не быть Option и управляться базой данных. Но я не уверен, как я могу отобразить эти поля после returning
into
методов
case class User(
id: Long,
email: String,
creationDate: DateTime,
lastModificationDate: DateTime
)
object User {
val tupled = (this.apply _).tupled
}
class UserTable(tag: Tag) extends Table[User](tag, "users") {
def id = column[Long]("id", O.PrimaryKey, O.AutoInc)
def email = column[String]("email")
def creationDate = column[DateTime]("creationDate", O.SqlType("TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP"))
def lastModificationDate = column[DateTime]("lastModificationDate", O.SqlType("TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP"))
override def * : ProvenShape[User] = (
id,
email,
creationDate,
lastModificationDate
) <> (User.tupled, User.unapply)
}
val userQuery = TableQuery[User]
def insert(email: String): Future[User] = {
db.run {
(userQuery.map(u => (
u.email,
)) returning userFeeQuery.map(_.id)
into ((parameters, id) => User(id = id, email = parameters._1)
)) += ((email))
}
}