未解决的符号列 - Scala Slick

时间:2016-03-12 12:43:05

标签: mysql scala sbt slick

我目前正在尝试使用光滑创建一个表格,我对于我所缺少的导入感到困惑,因为我看到的示例似乎没有相关的导入内容。

目前,专栏,问号和O都未解决。 有人能让我知道我做错了吗?

这是我的表类:

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

最后,这是我用于表格的案例类:

package com.grimey.staticpage

import java.time.LocalDateTime

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

我打赌这真的很傻:)

2 个答案:

答案 0 :(得分:1)

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

import slick.driver.MySQLDriver.api._

答案 1 :(得分:0)

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

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