Play Framework不会在生产模式下应用Evolutions

时间:2015-05-04 12:22:43

标签: java postgresql heroku deployment playframework

我最近将我的Pl​​ay应用程序部署到Heroku-Server。在生产模式下运行应用程序会导致每个db-table出现以下错误:

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)服务器上部署应用程序时遇到了同样的问题。通过首先在dev模式下运行来解决它,以应用模式,然后切换到生产。

1 个答案:

答案 0 :(得分:0)

是否有理由在Procfile命令中使用layout/fragment_main.xml?我不确定这可能会如何与-DapplyDownEvolutions.default=false互动...如果没有它可能值得尝试。

如果这不起作用,您可以在一次性过程中运行演变,如下所示:

-DapplyEvolutions.default=true

一旦完成,你其他的dynos应该是好的。但是,这会创建部署应用程序的时间段,并且尚未运行演变。