我知道运行期望环境完全工作的 rake 任务需要实际上可以建立数据库连接。基本上,这就是 Heroku 需要在加载环境之前运行资产管道预编译的原因。
这就是为什么需要这条线来将 rails 3.X 应用程序部署到 Cedar:
config.assets.initialize_on_precompile = false
现在,我正在尝试构建一个自定义构建包,该构建包需要一个 rake 任务来执行其他资产编译,以使应用程序按预期工作。这是因为我已经国际化了 JS 资产文件并使用了https://github.com/fnando/i18n-js
我需要跑步rake i18n:js:export
,这需要环境。* buildpack 中是否有任何点可以添加此调用并确保与 Rails 应用程序的数据库的连接正常工作?*加载环境是此任务的要求,我不知道如何解决它,它给出了典型的错误:
rake aborted!
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?
自然,我可以在本地编译然后部署。但是 buildpack 似乎是以自动化方式解决此问题的正确工具。谢谢您的帮助!