2013-04-07 22 views
0

嗨,我是新来玩的框架和Heroku。我被要求在Heroku上托管的一个由其他人编写的应用程序。该应用程序附有一个PostgreSQL数据库。如何在本地播放应用程序

我想知道什么是最好的工作方式。每当我做出一些更改以查看结果时,我不希望将我的应用推送到heroku。

由于远程数据库问题,“play run”命令在本地不起作用。我复制DATABASE_URL值并将其放置在配置文件中,但它仍然不起作用,因为它表示“SSL关闭”,它似乎打开SSL并不是一件容易的事情。

关于如何在这个项目上工作的想法?

预先感谢您!

回答

0

为了从本地机器访问Heroku Postgres数据库,必须使用SSL连接。要做到这一点,你需要下面的查询参数添加到您的数据库连接字符串:

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

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

DATABASE_URL=postgres://user:[email protected]:5432/db?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory 

然后,你就可以运行你的应用程序是这样的:

foreman run play run 

提示:为了使创建.env容易,检出heroku-config插件,它提供heroku config:pull命令将配置从您的应用程序拉到.env文件。当然,你可能希望使用开发数据库进行本地开发,但如果你愿意,这可以让你达到产量。

+0

谢谢你的帮助!我会试一试。 – 2013-04-07 14:17:10

相关问题