如何在本地使用Play应用程序

时间:2013-04-07 05:12:52

标签: ssl heroku playframework

嗨,我是Play框架和Heroku的新手。我被要求参与由Heroku托管的播放应用程序,该应用程序是由其他人编写的。该应用程序附加了一个PostgreSQL数据库。

我想知道最好的方法是什么。每次我做一些更改以查看结果时,我都不想将我的应用程序推送到heroku。

&#34>播放"播放"由于远程数据库问题,命令无法在本地运行。我复制DATABASE_URL值并将其放在配置文件中,但它仍然无效,因为它说" SSL关闭"似乎打开SSL并不容易。

关于我应该如何处理这个项目的任何想法?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

要从本地计算机访问Heroku Postgres数据库,必须使用SSL连接。为此,您需要将以下查询参数添加到数据库连接字符串中:

?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

此外,在本地运行时,我建议使用Foreman,它可以读取你的Procfile和注入环境变量,就像在Heroku上一样。要设置要使用的环境变量,请创建(但不要签入)具有您希望应用程序可用的键值对的.env文件。例如,像这样:

DATABASE_URL=postgres://user:pass@ec2-107-22-182-123.compute-1.amazonaws.com:5432/db?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

然后,您将能够像这样运行您的应用程序:

foreman run play run

提示:要更轻松地创建.env,请检查heroku-config插件,该插件提供heroku config:pull命令,将配置从您的应用提取到.env文件。当然,您可能希望使用开发数据库进行本地开发,但如果您愿意,这可以让您获得生产。