我最近将我的Play应用程序部署到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模式下运行来解决它,以应用模式,然后切换到生产。
答案 0 :(得分:0)
是否有理由在Procfile命令中使用layout/fragment_main.xml
?我不确定这可能会如何与-DapplyDownEvolutions.default=false
互动...如果没有它可能值得尝试。
如果这不起作用,您可以在一次性过程中运行演变,如下所示:
-DapplyEvolutions.default=true
一旦完成,你其他的dynos应该是好的。但是,这会创建部署应用程序的时间段,并且尚未运行演变。