0

嗨,我是游戏框架和 Heroku 的新手。我被要求开发一个托管在 Heroku 上的游戏应用程序,该应用程序是由其他人编写的。该应用程序附加了一个 PostgreSQL 数据库。

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

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

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

先感谢您!

4

1 回答 1

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文件的命令。当然,您可能希望使用 dev 数据库进行本地开发,但如果您愿意,这会让您投入生产。

于 2013-04-07T05:33:36.853 回答