我正在玩一个 Play 1.2.3 应用程序 (Java),它使用带有共享数据库的 Heroku 实例。
我的问题是:应用程序部署后如何更新数据库模式?事实上,如何初始化数据库,因为它最初是空的并且禁用了 PROD 模式下的 Hibernate ddl?
关于我尝试过的选项:
- Hibernate ddl auto 是生产中的一大禁忌
- 如果你使用 Hibernate,Play Evolutions 会一团糟,它们在开发过程中给我带来太多问题,无法使用或依赖它们
- Heroku 共享数据库(免费选项或 20gb 选项)不提供 Psql 控制台访问,因此您不能通过脚本手动执行此操作(正如我所希望的那样)
这是一个问题,因为免费数据库(15 美元/月)和提供 Psql 访问权限的最便宜选项(200 美元/月)之间的成本差异巨大,而且对于引导式“测试水域”站点这很重要。
你们中有人遇到过这个问题吗?你是如何解决的?
最佳答案
我用这个:https://github.com/ddollar/heroku-sql-console . 它只是在您的设置中为您提供了一个 SQL 控制台——我没有尝试执行脚本。
关于java - 使用共享数据库和模型更新在 Heroku 上运行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8115186/