Как я могу создать пользовательский тип столбца с помощью Typesafe Slick в Scala?

У меня есть таблица PostgreSQL сenum, который создается:

CREATE TYPE file_status AS ENUM ('new', 'uploading', 'queued', 'processing', 'done', 'failed');

и соответствующее поле

CREATE TABLE files ( ...
    status file_status NOT NULL,
    ...
);

С Scala 2.10 и Typesafe Slick 1.0.1 ямы создали сопоставления для моей таблицы файлов, которые отлично работают, за исключениемstatus поле, которое требует пользовательскогоfile_status тип, строка.

def status = column[FileStatus]("status")

играл с сликомs TypeMapper, но можетЯ не могу понять, как заставить его работать:

sealed trait FileStatus

implicit val fileStatusMapper: TypeMapper[String] = base[FileStatus, String](
  s => s.toString,
  f => f(FileStatus)
) 

Я получаю ошибку:несоответствие типов; найдено: models.Files.FileStatus.type требуется: Int

Почему требуется Int? Это из-за TypeMapper? Я также пытался

...
f => f.toString
// type mismatch; found : String required: models.Files.FileStatus

f => f
// type mismatch; found : String required: models.Files.FileStatus

Спасибо за любые подсказки, помогающие мне понять это отображение.

Ответы на вопрос(2)

Ваш ответ на вопрос