编译 table 定义时出现光滑错误:找不到参数 tm 的隐式值
Slick error while compiling table definitions: could not find implicit value for parameter tm
我对 Slick 完全陌生。我正在尝试创建一个基本的 table 类型,但它无法编译。这是我的代码:
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")
^
光滑 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._
仅供参考,对于 Slick 3,上述导入应该是
import slick.driver.PostgresDriver.api._
我对 Slick 完全陌生。我正在尝试创建一个基本的 table 类型,但它无法编译。这是我的代码:
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")
^
光滑 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._
仅供参考,对于 Slick 3,上述导入应该是
import slick.driver.PostgresDriver.api._