ruby-on-rails - 运行 heroku rake db :migrate 时出现 Heroku 错误

标签 ruby-on-rails postgresql heroku

当我尝试运行时

heroku rake db:migrate

我收到以下错误:

rake aborted! Please install the postgresql adapter: gem install activerecord-postgresql-adapter (pg is not part of the bundle. Add it to Gemfile.) Tasks: TOP => db:migrate => db:load_config (See full trace by running task with --trace)

这是我的 Gemfile 的样子:

group :production do
  gem 'pg'
end

group :development, :test do
  gem 'turn', '0.8.2', :require => false
  gem 'sqlite3', '1.3.5'
end

所以我将“pg”添加到 Gemfile,但它仍然报错。我有点失望,因为我不知道下一步该做什么..?

更新 命令 heroku run rake db:migrate 导致同样的错误。

这是我的 Gemfile:

来源 'http://rubygems.org'

gem 'rails', '3.1.3'

group :production 做 gem 'pg', '0.12.0' 结束

group :development, :test do # pretty-print 测试输出 gem 'turn', '0.8.2', :require => false gem 'sqlite3', '1.3.5' 结束

# Bundle edge Rails instead: # gem 'rails', :git => 'git://github.com/rails/rails.git'

# Gems 仅用于 Assets 而不是必需的 # 在生产环境中默认。 group :assets 做 gem 'sass-rails', '~> 3.1.5' gem 'coffee-rails', '~> 3.1.1' gem 'uglifier', '>= 1.0.3' 结束

gem 'jquery-rails'

# 使用 ActiveModel has_secure_password # gem 'bcrypt-ruby', '~> 3.0.0'

# 使用 unicorn 作为 web 服务器 # gem ' unicorn '

# 使用 Capistrano 部署 # gem 'capistrano'

# 使用调试器 # gem 'ruby-debug19', :require => 'ruby-debug'

非常感谢您的帮助!

更新 2

这是我的 Gemfile.lock:

GEM
  remote: http://rubygems.org/
  specs:
    actionmailer (3.1.3)
      actionpack (= 3.1.3)
      mail (~> 2.3.0)
    actionpack (3.1.3)
      activemodel (= 3.1.3)
      activesupport (= 3.1.3)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      i18n (~> 0.6)
      rack (~> 1.3.5)
      rack-cache (~> 1.1)
      rack-mount (~> 0.8.2)
      rack-test (~> 0.6.1)
      sprockets (~> 2.0.3)
    activemodel (3.1.3)
      activesupport (= 3.1.3)
      builder (~> 3.0.0)
      i18n (~> 0.6)
    activerecord (3.1.3)
      activemodel (= 3.1.3)
      activesupport (= 3.1.3)
      arel (~> 2.2.1)
      tzinfo (~> 0.3.29)
    activeresource (3.1.3)
      activemodel (= 3.1.3)
      activesupport (= 3.1.3)
    activesupport (3.1.3)
      multi_json (~> 1.0)
    ansi (1.4.1)
    arel (2.2.1)
    builder (3.0.0)
    coffee-rails (3.1.1)
      coffee-script (>= 2.2.0)
      railties (~> 3.1.0)
    coffee-script (2.2.0)
      coffee-script-source
      execjs
    coffee-script-source (1.1.3)
    erubis (2.7.0)
    execjs (1.2.12)
      multi_json (~> 1.0)
    hike (1.2.1)
    i18n (0.6.0)
    jquery-rails (1.0.19)
      railties (~> 3.0)
      thor (~> 0.14)
    json (1.6.3)
    mail (2.3.0)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mime-types (1.17.2)
    multi_json (1.0.4)
    pg (0.12.0)
      rake-compiler (~> 0.7)
    polyglot (0.3.3)
    rack (1.3.5)
    rack-cache (1.1)
      rack (>= 0.4)
    rack-mount (0.8.3)
      rack (>= 1.0.0)
    rack-ssl (1.3.2)
      rack
    rack-test (0.6.1)
      rack (>= 1.0)
    rails (3.1.3)
      actionmailer (= 3.1.3)
      actionpack (= 3.1.3)
      activerecord (= 3.1.3)
      activeresource (= 3.1.3)
      activesupport (= 3.1.3)
      bundler (~> 1.0)
      railties (= 3.1.3)
    railties (3.1.3)
      actionpack (= 3.1.3)
      activesupport (= 3.1.3)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (~> 0.14.6)
    rake (0.9.2.2)
    rake-compiler (0.7.9)
      rake
    rdoc (3.12)
      json (~> 1.4)
    sass (3.1.12)
    sass-rails (3.1.5)
      actionpack (~> 3.1.0)
      railties (~> 3.1.0)
      sass (~> 3.1.10)
      tilt (~> 1.3.2)
    sprockets (2.0.3)
      hike (~> 1.2)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    sqlite3 (1.3.5)
    thor (0.14.6)
    tilt (1.3.3)
    treetop (1.4.10)
      polyglot
      polyglot (>= 0.3.1)
    turn (0.8.2)
      ansi (>= 1.2.2)
    tzinfo (0.3.31)
    uglifier (1.2.0)
      execjs (>= 0.3.0)
      multi_json (>= 1.0.2)

PLATFORMS
  ruby

DEPENDENCIES
  coffee-rails (~> 3.1.1)
  jquery-rails
  pg (= 0.12.0)
  rails (= 3.1.3)
  sass-rails (~> 3.1.5)
  sqlite3 (= 1.3.5)
  turn (= 0.8.2)
  uglifier (>= 1.0.3)

最佳答案

如果您使用的是 Cedar,则需要运行 heroku run rake db:migrate 尽管听起来并非如此。如果您正在运行 rails 3 或 >,您应该使用 cedar stack。

您也可以尝试将 gem 'pg', "~> 0.12.0" 添加到您的 gem 文件中,然后再次运行 bundler (bundle install) 应该会得到 pg到你的 Gemfile.lock(寻找类似:pg (0.12.0))

如果这不起作用,可以告诉我们您的环境并粘贴 heroku --trace 日志吗?

关于ruby-on-rails - 运行 heroku rake db :migrate 时出现 Heroku 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8575477/

相关文章:

mysql - Activerecord 对 sql 的转换不正确

postgresql - 使用 "pg_basebackup"实用程序进行备份时收到错误

postgresql - 触发器过程的一致性(行触发器之前)Postgresql

ruby-on-rails - 推送到Heroku时“different prefix”错误和“Lockfile is unreadable”错误

ruby-on-rails - Rails 6 应用程序在测试期间未在 Heroku 上读取 ENV

ruby-on-rails - 如何将对事件管理员的访问权限限制为管理员用户

ruby-on-rails - Rails 从哪里获取它们的 DateTime.now?

ruby-on-rails - 默认情况下,Rails 应用程序如何在没有 Web 服务器的情况下单独与 Puma 一起运行

postgresql - 在 Squeryl 中通过聚合连接多个表

python - 将 Flask 应用程序部署到 heroku 会导致 create_app() 出现 500 错误