我对Slick来说是全新的。我试图创建一个基本的表类型,但它只是不编译。这是我的代码:
import scala.slick.driver.PostgresDriver._
import scala.slick.lifted.Tag
import scala.slick.lifted.Column
import scala.slick.lifted.ProvenShape
class Documents(tag: Tag) extends Table[(Long, String, String)](tag, "DOCUMENTS") {
def id: Column[Long] = column[Long]("ID", O.PrimaryKey)
def `type`: Column[String] = column[String]("TYPE")
def data: Column[String] = column[String]("DATA")
def * : ProvenShape[(Long, String, String)] = (id, `type`, data)
}
我得到了这些错误:
<console>:13: error: could not find implicit value for parameter tm: scala.slick.ast.TypedType[Long]
def id: Column[Long] = column[Long]("ID", O.PrimaryKey)
^
<console>:14: error: could not find implicit value for parameter tm: scala.slick.ast.TypedType[String]
def `type`: Column[String] = column[String]("TYPE")
^
<console>:15: error: could not find implicit value for parameter tm: scala.slick.ast.TypedType[String]
def data: Column[String] = column[String]("DATA")
^
答案 0 :(得分:9)
Slick 2
好的,我在写这个问题时解决了这个问题。 使用
import scala.slick.driver.PostgresDriver.simple._
而不是
import scala.slick.driver.PostgresDriver._
更新:感谢@lost_trekkie
Slick 3 使用:
import slick.driver.PostgresDriver.api._
更新:感谢Dmytro Mitin
Slick 3.2 slick.driver.PostgresDriver
已弃用,应改为使用slick.jdbc.PostgresProfile
:
import slick.jdbc.PostgresProfile.api._
答案 1 :(得分:4)
仅供参考,使用Slick 3,上面提到的导入应该是
import slick.driver.PostgresDriver.api._