我一直在玩我的游戏!框架 java 应用程序在 Heroku 上运行,我想我已经缩小到 Postgres JDBC 驱动程序不喜欢 Heroku 的 DATABASE_URL 参数,因为它以 postgres: 而不是 postgresql: 开头。
什么是配置游戏的正确方法! 2.0 应用程序连接到 heroku 提供的 Postgres 实例?
我尝试了以下变体: PLAY_OPTS="-Ddb.default.url=$DATABASE_URL -Ddb.default.driver=org.postgresql.Driver"
但是在启动时我得到一个 SQLException,没有找到适合 $DATABASE_URL 的驱动程序。
最佳答案
无需将它们作为系统属性传入,您可以在 application.conf
文件中获取 Heroku 环境变量
...
db.default.driver=org.postgresql.Driver
db.default.url=${DATABASE_URL}
然后在您的 Procfile
中定义它
web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -Dconfig.resource=application.conf
它应该为 Heroku 环境获取 DATABASE_URL
属性。虽然,我建议创建一个特定于 Heroku 环境的配置文件(即 heroku-prod.conf),但这只是一个示例。
关于postgresql - Play Framework + Heroku + Postgres 无法连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13410422/