我創建了一個play framework 2.1.0項目並將其部署到了heroku上。上星期五我不得不改變數據模型來添加一些額外的字段。一旦我嘗試部署更改,它給了我演變錯誤。Playframework 2.1和Heroku更新問題
無法修復我已恢復更改並部署舊版本的問題,但仍出現錯誤。
的當前錯誤我得到是這樣的
database [default] connected at jdbc:postgresql: ...
Position: 27 [ERROR:0, SQLSTATE:42601]
ERROR: syntax error at or near "FALSE"
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1$$anonfun$apply$1.apply$mcV$sp(Evolutions.scala:435)
Oops, cannot start the server.
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:434)
at play.api.db.evolutions.Evolutions$.evolutionScript(Evolutions.scala:306)
at scala.collection.immutable.List.foreach(List.scala:309)
at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:63)
at play.api.Play$.start(Play.scala:62)
at play.api.db.evolutions.EvolutionsPlugin.onStart(Evolutions.scala:432)
@6ele4bdao: Database 'default' is in inconsistent state!
....
部署我使用以下使用該procfile行:
web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -DapplyDownEvolutions.default=true -DapplyEvolutions.default=true -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${POSTGRESQL_URL}
同樣的建議我用heroku pg:psql
隨着SELECT id, last_problem FROM play_evolutions;
找出錯誤,它說syntax error at or near "FALSE"
,但我沒有看到我的1.sql文件中有任何錯誤。
任何人都可以給我一個這個讓我瘋狂的手。
Tks尋求幫助。應該自動生成2.sql還是應該重命名生成的1.sql?我沒有在本地運行。另外我測試了我的本地postgresql,它工作。所以我最終使用手動選項並刪除表 –
你應該創建一個新文件,所以你有1.sql和2.sql。 Play不會自動生成演化文件,您必須創建它們。 –
好的tks的信息:) –