【问题标题】:Too many slick errors太多漂亮的错误
【发布时间】:2016-04-02 01:24:26
【问题描述】:

我制作了一个简单的 Slick 项目,如 Slick 3.1.1 文档中所述

首先,我在 build.sbt 中添加了 Slick 依赖

其次,我导入如下使用H2数据库

import slick.driver.H2Driver.api._
import scala.concurrent.ExecutionContext.Implicits.global

第三,我做了一个db连接

val db = Database.forURL("jdbc:h2:mem:test1;DB_CLOSE_DELAY=-1", driver="org.h2.Driver")

然后我做了一个架构

class Records(tag: Tag) extends Table[(Int, String, String, Date, Date,            Date, Long, Long, Double, Boolean)](tag, "RECORDS"){
def id = column[Int]("ID", 0.PrimaryKey, O AutoIn) // This is the primary key column
  def name = column[String]("NAME")
  def target = column[String]("TARGET")
  def timeStamp = column[Date]("TIME_STAMP")
  def startTime = column[Date]("START_TIME")
  def endTime = column[Date]("END_TIME")
  def readBytes = column[Long]("READ_BYTES")
  def writeBytes = column[Long]("WRITE_BYTES")
  def usage = column[Double]("USAGE")
  def useDelta = column[Boolean]("USE_DELTA")

  def * = (id.?, name, target, timeStamp, startTime, endTime, readBytes, writeBytes, usage, useDelta)
}

并填充了一些数据库

records += (None, "name1", "target1", new Date(System.currentTimeMillis()), new Date(System.currentTimeMillis()), new Date(System.currentTimeMillis()), 4, 8, 0.5, false)

我为此参考了官方的 HelloSlick 模板(https://github.com/typesafehub/activator-hello-slick/blob/master/src/main/scala/HelloSlick.scala)

但是当我尝试编译时,我得到了 19 个错误

第一个错误是:对象 slick 不是包 scala 的成员 导入 scala.slick.driver.H2Driver._

我觉得很奇怪,因为需要导入

其他错误是 未找到:值数据库,
未找到:价值驱动程序,
未找到:类型表,
未找到:键入标记,
未找到:值 coumn,
值 PrimaryKey 不是 Int 的成员,
未找到:值列....其中许多未找到:值列

我对此一无所知

如果有人知道,请帮助我

【问题讨论】:

  • 将 '0.PrimaryKey' 中的 'O' 替换为 '0' 并将 'O.AutoInc' 替换为 'O AutoIn'

标签: database scala h2 slick


【解决方案1】:

Hello Slick 模板的 master 分支使用了 Slick 2.0.2,很多包成员发生了变化。

对 Slick 3+ 示例使用 slick-3.1 分支 (https://github.com/typesafehub/activator-hello-slick/tree/slick-3.1)。本模板使用 Slick 3.1.0-RC2,可以升级到 Slick 3.1.1。

play-fork-run.sbt 文件的已知问题https://github.com/typesafehub/activator/issues/1036。您可以评论或删除它。

【讨论】:

  • 我根据 slick-3.1 分支编辑了我的源代码,它确实可以成功编译,但是当我在 sbt 上运行它时它没有显示任何内容......(它只显示“ Running Hello”,这是项目的主要对象的名称)
猜你喜欢
  • 2021-03-06
  • 2018-12-03
  • 2020-02-13
  • 2021-04-06
  • 1970-01-01
  • 2019-08-24
  • 2021-11-01
  • 2014-07-13
  • 2022-11-05
相关资源
最近更新 更多