[英]Play Framework 2.4 Scala in production error “could not create play_evolutions table”
[英]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.