簡體   English   中英

表“play_evolutions”未找到

[英]Table “play_evolutions” not found

我有一個像這樣配置的基本開發數據庫:

# Default database configuration using H2 database engine in an in-memory mode
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play;DB_CLOSE_DELAY=-1;MODE=MYSQL;DATABASE_TO_UPPER=FALSE"

我添加了一個腳本來從conf/evolutions/default/1.sql的數據庫創建表

當使用sbt run啟動應用程序並轉到任何頁面時,Play要求我應用腳本1.sql 按下按鈕后,我收到以下錯誤:

JdbcSQLException: Table "play_evolutions" not found; SQL statement: update play_evolutions set last_problem = ? where id = ? [42102-192]`en`

播放框架不應該創建這個嗎?

版本:

//project/plugins.sbt
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.10")

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

scalaVersion := "2.11.8"

libraryDependencies += jdbc
libraryDependencies += evolutions

我已經檢查了evolutions.default包中的1.sql,並且可能存在導致table not found東西。

使用mydb;

使用此語句,您的“工作模式”現在是jdbc:h2:mem:play / mydb

然而, play_evolutions表是在根jdbc下創建的:h2:mem:play ,在jdbc:h2:mem:play / mydb下沒有任何內容 ,稱為play_evolutions ,這會導致ERROR。

解決方案很簡單:

刪除USE mydb;

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM