2015-05-04 32 views
0

我最近將我的Pl​​ay App部署到Heroku服務器。在生產模式下運行的應用程序導致以下錯誤每個DB-表:Play框架不適用生產模式下的演變

Caused by: javax.persistence.PersistenceException: Query threw SQLException:ERROR: relation "tablename" does not exist 

Procfile

web: target/universal/stage/bin/myApp -Dhttp.port=${PORT} -DapplyEvolutions.default=true -DapplyDownEvolutions.default=false -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${DATABASE_URL} 

我有同樣的問題,部署在另一個應用程序(非的Heroku)服務器。通過首先在開發模式下運行以應用模式並切換到生產來解決此問題。

回答

0

在您的Procfile命令中是否有-DapplyDownEvolutions.default=false的原因?我不確定這可能與-DapplyEvolutions.default=true有什麼相互作用......如果沒有它,值得嘗試。

如果不工作,你可以在一個一次性的過程,像這樣運行變陣:​​

$ heroku run bash 
... 
~$ ./target/universal/stage/bin/myApp -DapplyEvolutions.default=true -DapplyDownEvolutions.default=false -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${DATABASE_URL} 

一旦完成,你其他DYNOS應該是好去。但是,這會創建一個部署應用程序的時期,並且演變尚未開始。

相關問題