如何在Play 2.0(Scala)中使用DATABSE_URL进行PostgreSQL 9.1和He
我使用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" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |