我正在向Heroku的Cedar堆栈部署一个Rails 3.1应用程序.使用Heroku Cedar和Rails 3.1,您可以在本地自己编译资源,让Heroku在推送时(在"slug编译"期间)编译它们,或者在应用程序运行时及时编译它们.我想做中间选项,让Heroku预编译资产.
当Heroku运行资产:预编译任务时,它会因"无法连接到服务器"而出错,因为应用程序正在尝试连接到数据库但在slug编译阶段没有可用的数据库.此时缺乏数据库连接是预期的,也是不可避免的.我正在寻找一种方法来超越它,因为数据库连接对资产预编译并不重要.
我的应用程序试图连接到数据库的部分是Devise.devise_for :users在routes.rb中有一行想要查看用户模型.
我可以编写一个rake任务来存储devise_for并使其成为资产的先决条件:预编译.我认为这可以解决我的问题,但我正在寻找一个更通用的解决方案,我可以在任何 Rails 3.1应用程序上使用Heroku上的这个问题.
那里有什么东西,或者你能想到任何能够在运行应用程序足以产生路由和资产路径的同时消除数据库连接错误的东西吗?
显然,如果一个应用程序需要在启动期间读/写数据,我们不能存根,但我们可以自动伪造每个ActiveRecord模型吗?