我创建了一个使用 Hibernate 和 PostgreSQL 的 Java webapp。它基于 Heroku 的 Java MVC 教程(https://devcenter.heroku.com/articles/spring-mvc-hibernate)。我做了一些小的数据库更改并正确更新了所有休眠注释。在本地一切正常,但是在推送到 Heroku 之后,我现在收到此错误:
org.hibernate.exception.SQLGrammarException: could not execute query
...
Caused by: org.postgresql.util.PSQLException: ERROR: relation "MY_TABLE" does not exist
因此,似乎我本地计算机上存在的数据库更改并未反映在 heroku 云中。如何让 Heroku “重置”或“重建”我的数据库?
更新- 我跑了heroku pg:reset
,它抛出了一个“内部服务器错误”,告诉我“运行'heroku status'以检查已知的平台问题”,但是运行它没有给出任何信息。然后我检查了该站点,它再次运行(当然没有数据,但这是意料之中的)。不知道到底发生了什么,但这解决了问题。当然,这有助于我丢失所有数据。