Ruby Heroku迁移命令失败

Ruby Heroku迁移命令失败,ruby,ruby-on-rails-3,heroku,railsapps,Ruby,Ruby On Rails 3,Heroku,Railsapps,我在将应用程序部署到Heroku时遇到问题。我正在运行ruby 2.0.0、rails、3.2.13和pg、0.15.1 我已经编译了我的资产,正在用figaro加载环境变量 我遇到的问题是无法运行heroku migrate命令 Jamies-MacBook-Air:accufly jamieturner$ rake db:reset Couldn't drop accufly : #<PG::Error: FATAL: database "postgres" does not exi

我在将应用程序部署到Heroku时遇到问题。我正在运行ruby 2.0.0、rails、3.2.13和pg、0.15.1

我已经编译了我的资产,正在用figaro加载环境变量

我遇到的问题是无法运行heroku migrate命令

Jamies-MacBook-Air:accufly jamieturner$ rake db:reset
Couldn't drop accufly : #<PG::Error: FATAL:  database "postgres" does not exist
>
Couldn't drop accufly : #<PG::Error: FATAL:  database "postgres" does not exist
>
accufly already exists
accufly already exists
-- create_table("roles", {:force=>true})
   -> 0.0456s
-- add_index("roles", ["name", "resource_type", "resource_id"], {:name=>"index_roles_on_name_and_resource_type_and_resource_id"})
   -> 0.0071s
-- add_index("roles", ["name"], {:name=>"index_roles_on_name"})
   -> 0.0053s
-- create_table("users", {:force=>true})
   -> 0.0163s
-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true})
   -> 0.0042s
-- add_index("users", ["reset_password_token"], {:name=>"index_users_on_reset_password_token", :unique=>true})
   -> 0.0046s
-- create_table("users_roles", {:id=>false, :force=>true})
   -> 0.0057s
-- add_index("users_roles", ["user_id", "role_id"], {:name=>"index_users_roles_on_user_id_and_role_id"})
   -> 0.0037s
-- initialize_schema_migrations_table()
   -> 0.0010s
-- assume_migrated_upto_version(20121017180539, ["/Users/jamieturner/Dropbox/Rails/accufly/db/migrate"])
   -> 0.0016s
ROLES
role: admin
role: silver
role: gold
role: platinum
DEFAULT USERS
user: First User
Jamies-MacBook-Air:accufly jamieturner$ heroku run rake db:migrate
Running `rake db:migrate` attached to terminal... up, run.8314
rake aborted!
cannot load such file -- teaspoon/console
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `block in require'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
/app/lib/tasks/spec.rake:2:in `<top (required)>'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:245:in `load'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:245:in `block in load'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:245:in `load'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/engine.rb:425:in `block in load_tasks'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/engine.rb:425:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/engine.rb:425:in `load_tasks'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/application.rb:145:in `load_tasks'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/railtie/configurable.rb:30:in `method_missing'
/app/Rakefile:7:in `<top (required)>'
如果您能帮我找一下,我将不胜感激

编辑:

我的gem文件看起来像:

source 'https://rubygems.org'
gem 'rails', '3.2.13'
  gem 'pg', '0.15.1'

group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

group :development, :test do
  #gem 'sqlite3'
end

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem "rspec-rails", ">= 2.12.2", :group => [:development, :test]
gem "database_cleaner", ">= 1.0.0.RC1", :group => :test
gem "email_spec", ">= 1.4.0", :group => :test
gem "cucumber-rails", ">= 1.3.1", :group => :test, :require => false
gem "launchy", ">= 2.2.0", :group => :test
gem "capybara", ">= 2.0.3", :group => :test
gem "factory_girl_rails", ">= 4.2.0", :group => [:development, :test]
gem "teaspoon", ">= 0.7.4", :group => [:development, :test]
gem "bootstrap-sass", ">= 2.3.0.0"
gem "devise", ">= 2.2.3"
gem "cancan", ">= 1.6.9"
gem "rolify", ">= 3.2.0"
gem "simple_form", ">= 2.1.0"
gem "stripe", ">= 1.7.11"
gem "stripe_event", ">= 0.4.0"
gem "quiet_assets", ">= 1.0.2", :group => :development
gem "figaro", ">= 0.6.3"
gem "better_errors", ">= 0.7.2", :group => :development
gem "binding_of_caller", ">= 0.7.1", :group => :development, :platforms => [:mri_19, :rbx]

我键入的行是:

无法加载此文件--茶匙/控制台


您是否在
spec\u helper.rb
中需要茶匙和/或在您的开发环境中只有
teaspoon
捆绑包?如果是这样,更改这两个选项中的一个可能会解决问题。

我键入的行是:

无法加载此文件--茶匙/控制台


您是否在
spec\u helper.rb
中需要茶匙和/或在您的开发环境中只有
teaspoon
捆绑包?如果是这样,更改这两个选项中的一个可能会解决问题。

我键入的行是:

无法加载此文件--茶匙/控制台


您是否在
spec\u helper.rb
中需要茶匙和/或在您的开发环境中只有
teaspoon
捆绑包?如果是这样,更改这两个选项中的一个可能会解决问题。

我键入的行是:

无法加载此文件--茶匙/控制台


您是否在
spec\u helper.rb
中需要茶匙和/或在您的开发环境中只有
teaspoon
捆绑包?如果是这样,更改这两个选项中的一个可能会解决问题。

查看茶匙的配置。您可能希望修改您的文件,如:


看看你的茶匙配置。您可能希望修改您的文件,如:


看看你的茶匙配置。您可能希望修改您的文件,如:


看看你的茶匙配置。您可能希望修改您的文件,如:


您正在使用的重置命令是系统的本地命令。如果您想在heroku上执行相同的操作,语法会略有不同。尝试:

heroku run rake db:migrate
此外,假设您正在heroku上为db使用postgres,您将需要:

heroku pg:reset <your db name>
heroku pg:重置
此时,您需要重新输入生产数据库的名称,因为这很危险,他们会希望您确保您了解自己在做什么。

您使用的重置命令是您系统的本地命令。如果您想在heroku上执行相同的操作,语法会略有不同。尝试:

heroku run rake db:migrate
此外,假设您正在heroku上为db使用postgres,您将需要:

heroku pg:reset <your db name>
heroku pg:重置
此时,您需要重新输入生产数据库的名称,因为这很危险,他们会希望您确保您了解自己在做什么。

您使用的重置命令是您系统的本地命令。如果您想在heroku上执行相同的操作,语法会略有不同。尝试:

heroku run rake db:migrate
此外,假设您正在heroku上为db使用postgres,您将需要:

heroku pg:reset <your db name>
heroku pg:重置
此时,您需要重新输入生产数据库的名称,因为这很危险,他们会希望您确保您了解自己在做什么。

您使用的重置命令是您系统的本地命令。如果您想在heroku上执行相同的操作,语法会略有不同。尝试:

heroku run rake db:migrate
此外,假设您正在heroku上为db使用postgres,您将需要:

heroku pg:reset <your db name>
heroku pg:重置
此时,您需要重新输入生产数据库的名称,因为这很危险,他们会希望您确保了解自己在做什么。

我通过向spec.rake(使用rake db:migrate时正在运行)中添加if语句来解决此问题

unless Rails.env.production?
  require 'rake/testtask'
  require "teaspoon/console"

  namespace 'spec' do
    desc "Run the javascript test"
    task :javascript => :environment do
      puts "\n\n===== Starting Javascript Test =====\n\n"
      fail if Teaspoon::Console.new({suite: ENV["suite"]}).execute
      puts "===== Javascript Test Complete =====\n\n\n"
    end
  end

  Rake::TestTask.new(:default => "spec:javascript") do |test|
    test.pattern = 'spec/javascript/*_test.rb'
    test.verbose = true
  end
end

我通过向spec.rake(使用rake db:migrate时正在运行)添加一个if语句来解决这个问题

unless Rails.env.production?
  require 'rake/testtask'
  require "teaspoon/console"

  namespace 'spec' do
    desc "Run the javascript test"
    task :javascript => :environment do
      puts "\n\n===== Starting Javascript Test =====\n\n"
      fail if Teaspoon::Console.new({suite: ENV["suite"]}).execute
      puts "===== Javascript Test Complete =====\n\n\n"
    end
  end

  Rake::TestTask.new(:default => "spec:javascript") do |test|
    test.pattern = 'spec/javascript/*_test.rb'
    test.verbose = true
  end
end

我通过向spec.rake(使用rake db:migrate时正在运行)添加一个if语句来解决这个问题

unless Rails.env.production?
  require 'rake/testtask'
  require "teaspoon/console"

  namespace 'spec' do
    desc "Run the javascript test"
    task :javascript => :environment do
      puts "\n\n===== Starting Javascript Test =====\n\n"
      fail if Teaspoon::Console.new({suite: ENV["suite"]}).execute
      puts "===== Javascript Test Complete =====\n\n\n"
    end
  end

  Rake::TestTask.new(:default => "spec:javascript") do |test|
    test.pattern = 'spec/javascript/*_test.rb'
    test.verbose = true
  end
end

我通过向spec.rake(使用rake db:migrate时正在运行)添加一个if语句来解决这个问题

unless Rails.env.production?
  require 'rake/testtask'
  require "teaspoon/console"

  namespace 'spec' do
    desc "Run the javascript test"
    task :javascript => :environment do
      puts "\n\n===== Starting Javascript Test =====\n\n"
      fail if Teaspoon::Console.new({suite: ENV["suite"]}).execute
      puts "===== Javascript Test Complete =====\n\n\n"
    end
  end

  Rake::TestTask.new(:default => "spec:javascript") do |test|
    test.pattern = 'spec/javascript/*_test.rb'
    test.verbose = true
  end
end

+1.成功了我的问题在开发环境中是茶匙唯一的捆绑1.成功了我的问题在开发环境中是茶匙唯一的捆绑1.成功了我的问题在开发环境中是茶匙唯一的捆绑1.成功了我的问题在开发环境中是茶匙唯一的捆绑