2011-08-04 4 views
0

Lorsque vous essayez de migrer une base de données Heroku, je reçois ce qui suit (A condition que j'utilise gem 'sqlite3', '1.3.3':problème dans la migration d'une base de données Heroku

$ heroku rake db:migrate 
(in /app) 
rake aborted! 
uninitialized constant Rake::DSL 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2482:in `const_missing' 
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:8:in `<class:Ta 
skLib>' 
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:6:in `<module:R 
ake>' 
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:3:in `<top (req 
uired)>' 
/app/.bundle/gems/ruby/1.9.1/gems/rdoc-3.9.1/lib/rdoc/task.rb:37:in `require' 
/app/.bundle/gems/ruby/1.9.1/gems/rdoc-3.9.1/lib/rdoc/task.rb:37:in `<top (requi 
red)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks/documentation.r 
ake:2:in `require' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks/documentation.r 
ake:2:in `<top (required)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:15:in `load' 

/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:15:in `block 
in <top (required)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:6:in `each' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:6:in `<top (
required)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:215:in 
`require' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:215:in 
`initialize_tasks' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:139:in 
`load_tasks' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:77:in 
`method_missing' 
/app/Rakefile:7:in `<top (required)>' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `load' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:1991:in `run' 
/usr/ruby1.9.2/bin/rake:31:in `<main>' 

Comment puis-je résoudre ce problème

? . Merci

+0

Avez-vous essayé la recherche? http://stackoverflow.com/questions/6862032/another-uninitialized-constant-rakedsl –

+0

duplication possible de [rake avorté! rake constant non initialisé :: DSL sur heroku] (http://stackoverflow.com/questions/6727898/rake-aborted-uninitialized-constant-rakedsl-on-heroku) – s84

Répondre

0

Rake aborted! Uninitialized constant Rake::DSL on Heroku

I have a blog post about this here Il y a deux façons de le faire:.

utiliser la version plus ancienne de rake:

Vérifiez vos versions actuelles Rake avec $ gem list. Voir quelles versions de rake vous avez et les supprimer tous sauf 0.8.7. Vous pouvez supprimer les gemmes avec gem uninstall rake -v=0.9.1 ou toute autre version que vous devez supprimer.

Ou tout simplement ajouter une seule ligne à votre fichier de coupe:

Sauf si vous devez utiliser l'ancienne version de Rake il est plus facile d'ajouter cette ligne require 'rake/dsl_definition' à l'application de vos Rails Rakefile.

require File.expand_path('../config/application', __FILE__) 
require 'rake/dsl_definition' 
require 'rake' 
Questions connexes