Playframework Scala play-slick3-example 项目:JdbcSQLException:未找到列 "TEST"

Playframework Scala play-slick3-example project: JdbcSQLException: Column "TEST" not found

我下载了一个带有 Play Framework 2.5 和 Slick 3.1 的入门应用程序,git here

当我将名为 "test" 的简单列添加到 Project.scala 时。我收到此错误:

[JdbcSQLException: Column "TEST" not found; SQL statement:
select "ID", "NAME", "TEST" from "PROJECT" [42122-187]]

我只是通过添加参数测试和 ProjectsTable class 函数来更改 Project 案例 class测试,* 和 ?:

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."))

}

以及函数:创建

def create(name: String): Future[Long] = {
  val project = Project(0, name, "d")
  db.run(Projects returning Projects.map(_.id) += project)
}

非常感谢您的帮助!

通过将字段 test 添加到 ProjectsTable 模型,您告诉 Slick 数据库 table PROJECT 有一个名为 test 的列 - 但是table PROJECT 没有名为 test.

的列

您可以在此处查看 SQL 架构:https://github.com/nemoo/play-slick3-example/blob/6c122970d7506bedb9230e3a31c30a5c7e27e93b/conf/evolutions/default/1.sql