我使用默认的内存 h2 数据库在本地开发了我的应用程序。一切都很完美。
现在我尝试通过推送到 Heroku 来部署我的应用程序。
在此之前,我使用以下行将 Procfile 添加到我的应用程序的根文件夹中:
web: target/start -Dhttp.port=${PORT} -DapplyEvolutions.default=true -Ddb.default.url=${DATABASE_URL} -Ddb.default.driver=org.postgresql.Driver
我的 application.conf 看起来像:
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play;MODE=PostgreSQL"
所以我推动了它,然后,当我尝试访问我的应用程序时,我得到:
Salieri:addressManager administrator$ heroku ps
=== web (1X): `target/start -Dhttp.port=${PORT} -DapplyEvolutions.default=true -Ddb.default.url=${DATABASE_URL} -Ddb.default.driver=org.postgresql.Driver`
web.1: crashed 2013/06/27 22:04:16 (~ 4m ago)
在heroku日志中:
2013-06-27T20:04:14.511136+00:00 app[web.1]: [error] play - ERROR: syntax error at or near "user"
2013-06-27T20:04:14.515578+00:00 app[web.1]: at play.api.db.evolutions.Evolutions$.databaseEvolutions(Evolutions.scala:334)
2013-06-27T20:04:14.515153+00:00 app[web.1]: @6emdb57b1: Database 'default' is in inconsistent state!
我试图删除整个数据库
heroku pg:reset HEROKU_POSTGRESQL_ROSE_URL
然后我又推了一次,但没有成功。
不得不提的是,我之前做过推送,当时我的应用是在 Heroku 上运行的。唯一的问题是,我无法使用我的设备中提供的凭据登录(Global.java 文件,在应用程序启动时有一个工作)。
有什么建议么?