language/scala

Enum Type을 Slick 에서 사용하기

dev.bistro 2014. 10. 7. 16:08


1. Enum 타입의 사용

scala.Enumeration을 상속한다.

object REQUEST_METHOD_TYPE extends Enumeration {
  type REQUEST_METHOD_TYPE = Value
  val GET, POST = Value
}


2. Slick의 선언

implicit val MethodMapper  = MappedColumnType.base[REQUEST_METHOD_TYPE,String] ( s=>s.toString, s=>REQUEST_METHOD_TYPE.withName(s))

def method = column[REQUEST_METHOD_TYPE]("method", O.NotNull, O.Default(REQUEST_METHOD_TYPE.GET), O.DBType("VARCHAR(20)"))