我尝试heroku运行bundle exec rake db:create --trace
并有错误
rake aborted!
undefined method task' for #<CertApp::Application:0x00000002ad5488>
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:215:i
ninitialize_tasks'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:139:i
n load_tasks'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:77:in
method_missing'
/app/Rakefile:8:in <top (required)>'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/rake_module.rb:25:inlo
ad'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/rake_module.rb:25:in lo
ad_rakefile'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:581:inr
aw_load_rakefile'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:87:in bl
ock in load_rakefile'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:158:ins
tandard_exception_handling'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:86:in lo
ad_rakefile'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:70:inbl
ock in run'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:158:in s
tandard_exception_handling'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:68:inru
n'
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/bin/rake:37:in `'
/app/vendor/bundle/ruby/1.9.1/bin/rake:19:in load'
/app/vendor/bundle/ruby/1.9.1/bin/rake:19:in'
in gemfile
gem 'rake', '0.8.7'
我该怎么办?
答案 0 :(得分:1)
你不需要在Heroku上创建数据库,它已经存在了。他们在部署过程中为您编写database.yml。
答案 1 :(得分:0)
回答2:
我知道你的gemfile是0.8.7,但是行/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.2/lib/rake/rake_module.rb:25:inload'
来自你的机器,而不是Heroku。意思是你在某处有rake 10.0.2。
我们应该能够通过运行强制使用0.8.7的heroku bundle exec rake db:migrate
来避免使用10.0.2,但我宁愿完全卸载10.0.2,这样你就可以运行heroku rake db:migrate
< / p>
所以,让我们确保你只使用rake 0.8.7。 按顺序尝试这些:
gem uninstall rake
(如果第一个不起作用,则为gem uninstall rake -v 10.0.2
)gem 'rake', '0.8.7'
重新添加到您的gem文件中。heroku bundle exec rake db:migrate
然后交叉你的手指,因为我正在推动我的知识极限。