У меня работает что-то в следующей настройке:
Во-первых, объявление моей таблицы:
class EventTable(tag: Tag) extends Table[Event](tag, "event"){
def uid = column[String]("uid", O.PrimaryKey, O.Length(36))
def userUid = column[String]("user_uid")
def location = column[Point]("location")
def start = column[LocalDateTime]("start")
def end = column[LocalDateTime]("end")
def visible = column[Boolean]("visible")
def attending = column[Int]("attending")
def required = column[Int]("required")
def createdAt = column[LocalDateTime]("created_at")
def * = (uid, userUid, location, start, end, visible, attending, required, createdAt) <>
(Event.tupled, Event.unapply)
}
Мне нужны расширения: поддержка времени java8 (LocalDateTime) и геоматериалы (Point). Это отражено в моем build.sbt
— я использую версию 0.11.0 для slick-pg:
"com.github.tminglei" %% "slick-pg" % slickPgV,
"com.github.tminglei" %% "slick-pg_jts" % slickPgV,
"com.github.tminglei" %% "slick-pg_date2" % slickPgV,
Теперь объявление драйвера:
import com.github.tminglei.slickpg._
trait ExtendedPostgresDriver extends ExPostgresDriver
with PgArraySupport
with PgDate2Support
with PgRangeSupport
with PgHStoreSupport
with PgSearchSupport
with PgPostGISSupport
with PgNetSupport
with PgLTreeSupport {
override val api = MyAPI
object MyAPI extends API with ArrayImplicits
with DateTimeImplicits
with PostGISImplicits
with NetImplicits
with LTreeImplicits
with RangeImplicits
with HStoreImplicits
with SearchImplicits
with SearchAssistants {
implicit val strListTypeMapper = new SimpleArrayJdbcType[String]("text").to(_.toList)
}
}
object ExtendedPostgresDriver extends ExtendedPostgresDriver
Итак, возьмите вещи времени Java 8. Вы можете заметить, что драйвер использует PgDate2Support
, что позволяет мне использовать неявный DateTimeImplicits
. Импортируя ExtendedPostgresDriver.api._
в интересующий меня класс, я могу использовать в определении таблицы тип LocalDateTime
, который мне нужен.
То же самое для Point
: PgPostGISSupport
-> PostGISImplicits
-> Point
.
Надеюсь это поможет
person
Radu
schedule
31.01.2016