【发布时间】:2015-04-15 12:16:13
【问题描述】:
我正在使用 slick-pg 来访问 Point 等类型。 但是按照github页面使用部分的例子之后,我仍然无法获得像Point类这样的访问类型。
这就是我所拥有的
CustomPostgresDriver.scala
package app.utils
import slick.driver.PostgresDriver
import com.github.tminglei.slickpg._
trait CustomPostgresDriver extends PostgresDriver
with PgArraySupport
with PgDateSupport
with PgRangeSupport
with PgHStoreSupport
with PgPlayJsonSupport
with PgSearchSupport
with PgPostGISSupport {
override val pgjson = "jsonb" //to keep back compatibility, pgjson's value was "json" by default
override lazy val Implicit = new ImplicitsPlus {}
override val simple = new SimpleQLPlus {}
//////
trait ImplicitsPlus extends Implicits
with ArrayImplicits
with DateTimeImplicits
with RangeImplicits
with HStoreImplicits
with JsonImplicits
with SearchImplicits
with PostGISImplicits
trait SimpleQLPlus extends SimpleQL
with ImplicitsPlus
with SearchAssistants
with PostGISAssistants
}
object CustomPostgresDriver extends CustomPostgresDriver
Users.scala
package app.models
import app.utils.CustomPostgresDriver.simple._
case class User(
id : Long,
firstName : String,
lastName : String,
phone : String,
lat : Point,
long : Point,
updatedAt : Timestamp,
createdAt : Timestamp,
)
class Users(tag: Tag) extends Table[User](tag, "USERS") {
def id = column[Long]("USER_ID", O.PrimaryKey, O.AutoInc)
def firstName = column[String]("FIRST_NAME", O.NotNull)
def lastName = column[String]("LAST_NAME", O.NotNull)
def phone = column[String]("PHONE_NUMBER", O.NotNull)
def lat = column[Point]("LATITUDE", O.NotNull)
def long = column[Point]("LONGITUDE", O.NotNull)
def updatedAt = column[Timestamp]("UPDATED_AT")
def createdAt = column[Timestamp]("CREATED_AT")
def * = (id.?, firstName, lastName, phone, lat, long, updatedAt, createdAt) <> (User.tupled, User.unapply)
}
val users = TableQuery[Users]
但是找不到 Point,intellij 给我的 Timestamp 建议是 java.sql.Timestamp
我做错了什么? 这已经阻止了我好几天,任何帮助将不胜感激。 谢谢大家
【问题讨论】:
-
为什么 lat+long 都是一个点? A Point 有一个 x,y,因此可以在一列中表示您的纬度/经度
-
好点,我会调查一下
-
您使用的是 PostGIS 还是仅使用标准的 postgresql 几何类型 (postgresql.org/docs/9.4/static/datatype-geometric.html)?我不确定 pg-slick 是否支持这些(我尝试搜索他们的 git repo 并且只找到了 postgis 类型)。
-
我正在使用 PostGIS
标签: postgresql scala slick slick-2.0