更新
事实证明,该列的定义有问题,因为在列def的行上出现错误。我在geom
列定义中添加了类型注释,从而解决了该问题。但是现在我尝试执行转换和长度计算的那一行出现了另一个编译器错误:
value transform is not a member of models.utils.MyPostgresDriver.api.Rep[com.vividsolutions.jts.geom.LineString]
谁能看到我找不到转换函数的原因?
我正在从Slick 2.1升级到3.1,从而将我的slick-pg库从0.8.2升级到0.14.9。我有一行代码是在旧版本下编译的,但不是在新版本下编译的,我也不明白为什么。看起来像这样(具有Slick 3.1的适当更新):
db.run(tableX.map(_.geom.transform(26918).length).result)
我收到以下编译错误:
diverging implicit expansion for type slick.lifted.Shape[_ <: slick.lifted.FlatShapeLevel, Nothing, T, G]
starting with method optionShape in trait RepShapeImplicits
如果我也删除了转换,则会遇到相同的错误。这是用于Postgres LineString列的。
如果有帮助,在撰写本文时,这里是指向my postgres driver definition和my build.sbt的链接。