Heroku 数据库 :migrate and faker

标签 heroku

heroku rake db:migrate 之后,我收到以下错误:

rake aborted!

no such file to load -- faker

/app/Rakefile:7

(See full trace by running task with --trace)

(in /app)*

我看到了以前的答案,我试图将 require 'faker' 从第一行移到 task :populate => :environment do 文件中 sample_data.rake 下面的行。它没有用。

我在 gemfile 中注释了 faker (它只存在于开发环境中)并且我执行了一个 bundle install 。它没有用。

我真的很害怕我不能在 heroku 上使用 faker。请你帮助我好吗?

最佳答案

faker 是 Gemfile 中生产 gems 的一部分(在任何组之外)吗?

Heroku 默认不安装 testdevelopment gems。

因此,例如,您可以简单地更改

source 'http://rubygems.org'

gem 'rails', '3.0.7'
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'mysql'

group :development do
  gem 'faker'
end


source 'http://rubygems.org'

gem 'rails', '3.0.7'
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'mysql'
gem 'faker'

或者...

您可以通过更改 Heroku 环境变量 BUNDLE_WITHOUT 指示 Heroku 安装开发 gem,该变量列出了要排除的组。

默认为:
heroku config:set BUNDLE_WITHOUT="development:test"

所以你可能会使用类似的东西:
heroku config:set BUNDLE_WITHOUT="test"

但是,如果您的应用程序需要在其生产环境中使用 faker,您可能应该只将 gem 包含在默认的 Gemfile 组中。

关于Heroku 数据库 :migrate and faker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5773245/

相关文章:

ruby-on-rails - 一个 Rails 应用程序可以使用多个 Redis 实例吗?

javascript - rails : CSS/Javascript working fine locally but not on Heroku

javascript - Node.js Heroku App 应用程序错误。日志有问题

python - 部署到heroku时TemplateDoesNotExist at/base/index.html

postgresql - Heroku 无法识别 DATABASE_URL

java - Heroku:GET 数据未以 UTF-8 形式检索

heroku - Rails + Heroku::rake 任务在 cron 任务中

ruby-on-rails - 尝试 db :migrate inside of heroku, 迁移失败

HEROKU: ps:scale web=1 Procfile 中没有定义此类进程类型 web

php - 在 heroku 上具有自定义 https 域的 Laravel 不生成 https 路由