首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Play Framework 2.2.2连接远程Heroku Postgres数据库

无法使用Play Framework 2.2.2连接远程Heroku Postgres数据库
EN

Stack Overflow用户
提问于 2014-03-28 12:17:00
回答 1查看 1.1K关注 0票数 2

我有一个Heroku帐户,我创建了一个应用程序和数据库。我已经将该应用程序提交给Heroku云,但我无法访问我创建的DB。

我正在使用play,当我在本地DB中连接我的项目时,application.conf配置如下:

代码语言:javascript
复制
db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost:5432/postgres"
db.default.user=postgres
db.default.password=password

在本地运行我的服务器,就可以正常工作了。

在将我的应用程序上传到Heroku之前,我更改了这个文件以访问我的Heroku-Postgres DB:

db.default.driver=org.postgresql.Driver db.default.url="jdbc:postgresql://url:5432/database_name?user=name&password=pass&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory“

不再需要用户和密码字段。我已经在我的项目根目录中创建了一个名为"Procfile“的文件,该文件具有:

代码语言:javascript
复制
web: target/universal/stage/bin/playsense -Dhttp.port=${PORT} -DapplyEvolutions.default=true -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${DATABASE_URL}

我在文件上发现了这个。我不明白为什么它不连接到我的数据库。我在DB凭据中使用了pgAdminIII,它运行得很好。

这东西少了/错了,我不知道是什么。

有人能帮我吗?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-28 14:12:29

在Heroku上运行时,您可能需要取消设置db.default.userdb.default.password配置参数。但我不确定有什么简单的方法可以做到。因此,我通常做的是不在conf/application.conf中设置它们,而是执行如下操作:

代码语言:javascript
复制
db.default.driver=org.postgresql.Driver
db.default.url="postgres://postgres:password@localhost:5432/postgres"
db.default.url=${?DATABASE_URL}
#db.default.user=postgres
#db.default.password=password

它提供了一个默认的db.default.url,但如果设置了DATABASE_URL env,则会重写它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22712611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档