【发布时间】:2016-10-05 08:05:14
【问题描述】:
我下载了一个带有 Play Framework 2.5 和 Slick 3.1 的入门应用程序,git here。
当我向Project.scala 添加一个名为“test”的简单列时。我收到此错误:
[JdbcSQLException: Column "TEST" not found; SQL statement:
select "ID", "NAME", "TEST" from "PROJECT" [42122-187]]
我只是通过添加参数 test 和带有函数 test、* 和 ? 的 ProjectsTable 类来更改 Project 案例类:
case class Project(id: Long, name: String, test: String)
private class ProjectsTable(tag: Tag) extends Table[Project](tag, "PROJECT") {
def id = column[Long]("ID", O.AutoInc, O.PrimaryKey)
def name = column[String]("NAME")
def test = column[String]("TEST")
def * = (id, name, test) <> (Project.tupled, Project.unapply)
def ? = (id.?, name.?, test.?).shaped.<>({ r => import r._; _1.map(_ => Project.tupled((_1.get, _2.get, _3.get))) }, (_: Any) => throw new Exception("Inserting into ? projection not supported."))
}
还有函数:create
def create(name: String): Future[Long] = {
val project = Project(0, name, "d")
db.run(Projects returning Projects.map(_.id) += project)
}
非常感谢您的帮助!
【问题讨论】:
标签: scala jdbc playframework h2 slick