Поддержка Slick для HList
- это, как правило, замечательная вещь. К сожалению, он поставляется с собственной реализацией, которая практически не дает никаких полезных операций. Поэтому я хотел бы использовать бесформенный HList
. Предполагается, что это " тривиальный", но я понятия не имею, как это сделать правильно. Поиск в Интернете не нашел доказательств того, что кому-то удалось выполнить эту задачу.
Я предполагаю, что этого достаточно, чтобы реализовать ProvenShape
(как объявлено здесь), но поскольку я не понимаю концепцию Slick's (Proven)Shape
s, мне это не удалось реализовать.
Я в основном стараюсь кипятить это
class Users( tag: Tag )
extends Table[Long :: String :: HNil]( tag, "users" )
{
def id = column[Long]( "id", O.PrimaryKey, O.AutoInc )
def email = column[String]( "email" )
override def * = ( id, email ) <>[TableElementType, ( Long, String )](
_.productElements,
hlist => Some( hlist.tupled )
)
}
до
class Users( tag: Tag )
extends Table[Long :: String :: HNil]( tag, "users" )
{
def id = column[Long]( "id", O.PrimaryKey, O.AutoInc )
def email = column[String]( "email" )
override def * = id :: email :: HNil
}