加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Play 2.0(Scala)中使用DATABSE_URL进行PostgreSQL 9.1和He

发布时间:2020-12-16 18:11:34 所属栏目:安全 来源:网络整理
导读:我使用Play在OSX(Lion 10.7.4)上使用本地PostgreSQL 9.1开发了第一个Web应用程序!框架2.0.3.我开始使用conf / application.conf中定义的数据库连接(相对于应用程序的目录) db.default.driver=org.postgresql.Driverdb.default.url="jdbc:postgresql://local
我使用Play在OSX(Lion 10.7.4)上使用本地PostgreSQL 9.1开发了第一个Web应用程序!框架2.0.3.我开始使用conf / application.conf中定义的数据库连接(相对于应用程序的目录)

db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost/fotoplay"
db.default.user=foo
db.default.password=bar

(用户名和密码在发布前已经更改)这适用于编写和测试.我现在想部署到Heroku.我用一行设置了Procfile(在应用程序的目录中):

web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS}  
-DapplyEvolutions.default=false 
-Ddb.default.driver=org.postgresql.Driver 
-Ddb.default.url=$DATABASE_URL

我已经在.bash_profile中导出了DATABASE_URL,以便我可以在系统命令行中回显$DATABASE_URL并获取

postgres://foo:bar@localhost/photoplay

在Heroku,我已经设置了postgresql的一个实例.我不确定如何编写数据库演变来填充heroku,所以我把它转换为evolutions并手动填充我的数据库.我当前的进化构建表并用一些csv文件中的一些初始数据填充它们,所以我需要将csv文件放在heroku可访问的地方.至少在第一次通过时,我还不想解决这个问题.但是由于手动步骤,我在Heroku上有一个填充的数据库.

使用此配置,我的应用程序在本地正确运行.但是,我没有使用DATABASE_URL,这似乎是错误的.我将其推送到HEROKU并且无法连接到数据库.错误是:

Caused by: org.postgresql.util.PSQLException: 
FATAL: password authentication failed for user "foo"

如果我删除用户名&密码,我打破了我的本地配置.我应该可以使用DATABASE_URL’而不是’旧语法,但我不知道该怎么做.我不认为我可以通过实验来解决这个问题(漫游高维空间是没有希望的,并且有几种可能的配置设置可能涉及并且受制于错别字).关于如何设置application.conf的任何指导将不胜感激.

解决方法

值得一试:在你的application.conf文件中,更改你的db.default.url参数,以包含用户名& URL中的密码,并删除db.default.user和db.default.password参数:

db.default.url="postgres://foo:bar@localhost/fotoplay"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读