Heroku中止rake:在需要数据库访问时进行预编译

时间:2013-05-02 22:44:45

标签: database postgresql deployment heroku

某些项目资产是ERB(如file.js.coffee.erb),它们会从数据库中提取数据以便自行编写。数据库表似乎可以创建,但是Heroku会在预编译时停止,并出现如下错误:

could not connect to server: Connection refused
    Is the server running on host "127.0.0.1" and accepting
    TCP/IP connections on port 5432?

好吧,好吧。我在Heroku Devcenter中寻求帮助,并发现an article解释说这实际上是由于环境中缺少配置变量而发生的。所以说明要运行:

env RAILS_ENV=production DATABASE_URL=scheme://user:pass@127.0.0.1/dbname bundle exec rake assets:precompile 2>&1

所以我使用Heroku的tollbelt (heroku run ...)运行带有正确替换的命令,将postgresql作为scheme,同时填充{{ 1}},userpass字段正确。然后,再次:

dbname

似乎我倾向于使用Heroku自动数据库配置中的一些真实信息,但我不知道这些配置是什么。

我有点紧张。有人可以帮忙吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

你可以通过启用user-env-compile来解决这个问题:

这通常是气馁的,但在你的情况下需要它。