相关疑难解决方法(0)

如何在Scala中使用Typesafe Slick创建自定义列类型?

我有一个带有的PostgreSQL表enum,它由以下内容创建:

CREATE TYPE file_status AS ENUM ('new', 'uploading', 'queued', 'processing', 'done', 'failed');
Run Code Online (Sandbox Code Playgroud)

和相关的领域

CREATE TABLE files ( ...
    status file_status NOT NULL,
    ...
);
Run Code Online (Sandbox Code Playgroud)

使用Scala 2.10和Typesafe Slick 1.0.1,我已经创建了我的Files表的映射,除了status字段之外,它的工作非常好,这需要自定义file_status类型,一个字符串.

def status = column[FileStatus]("status")
Run Code Online (Sandbox Code Playgroud)

我一直在玩Slick的TypeMapper,但还是不知道如何让它工作:

sealed trait FileStatus

implicit val fileStatusMapper: TypeMapper[String] = base[FileStatus, String](
  s => s.toString,
  f => f(FileStatus)
) 
Run Code Online (Sandbox Code Playgroud)

我收到错误:类型不匹配; 发现:models.Files.FileStatus.type必需:Int

为什么需要Int?是因为TypeMapper吗?我也试过了

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

f => f
// type mismatch; found : …
Run Code Online (Sandbox Code Playgroud)

postgresql scala playframework slick

9
推荐指数
1
解决办法
4093
查看次数

如何在Scala Slick中使用Enums?

想要将MySQL INT位掩码映射到Slick.

我发现了这个,但是如何使用它几乎没有问题

https://github.com/nafg/slick-additions/blob/master/src/main/scala/scala/slick/additions/Enum.scala

任何帮助我应该如何定义ie的对象

包含3个值的Enum的mysql列INT(3):让我们在这里命名为a,b,c.

mysql enums scala playframework slick

8
推荐指数
1
解决办法
2796
查看次数

标签 统计

playframework ×2

scala ×2

slick ×2

enums ×1

mysql ×1

postgresql ×1