2015-05-04 61 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应该是好去。但是,这会创建一个部署应用程序的时期,并且演变尚未开始。