未解析的符号列 - Scala Slick

Unresolved symbol column - Scala Slick

我目前正在尝试使用 slick 创建一个 table,我很困惑我缺少什么导入,因为我看到的示例似乎没有相关的导入在其中。

目前列、问号和O都没有解决。 有人可以告诉我我做错了什么吗?

这是我的 table class:

package com.grimey.tabledefinitions
import slick.driver.MySQLDriver.api._
import com.grimey.staticpage.StaticPage
import slick.lifted.Tag
import slick.model.Table

class StaticPageDef(tag: Tag) extends Table[StaticPage](tag, "static_page") {
  def id = column[Long]("id", O.PrimaryKey, O.AutoInc)
  def pageType = column[String]("page_type")
  def contentHtml = column[String]("content_html")

  def * = (id.?, pageType, contentHtml) <>(StaticPage, StaticPage.unapply _)
} 

这是我的 build.sbt:

name := """grimey-cms"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.8"

libraryDependencies ++= Seq(
  "mysql" % "mysql-connector-java" % "5.1.38",
  "com.typesafe.play" %% "play-slick" % "2.0.0",
  "com.typesafe.play" %% "play-slick-evolutions" % "2.0.0"
)

resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"

fork in run := true

最后,这里是案例 class 我正在使用 table:

package com.grimey.staticpage

import java.time.LocalDateTime

case class StaticPage(id: Long, htmlContent: String, pageType: String,
                      created: LocalDateTime, updated: LocalDateTime)

我敢打赌这真的很傻:)

O 对象来自 table,它因驱动程序而异。某些驱动程序可能不支持其他驱动程序支持的某些列选项。因此,您需要导入特定于您的数据库的列选项 - MySQL 在这种情况下:

import slick.driver.MySQLDriver.api._

您可以查看有关如何使用 Play + Slick + MySQL 的完整教程:http://pedrorijo.com/blog/play-slick/

或者您可以直接浏览代码:https://github.com/pedrorijo91/play-slick3-steps