Ошибки во время rake db: миграция

#ruby-on-rails #ruby-on-rails-3 #rake

#ruby-on-rails #ruby-on-rails-3 #rake

Вопрос:

Я пытался обновить свое приложение с Rails 2.3 до Rails 3. Я заставил rails s работать без ошибок, но ничего не появится, потому что я не перенес db. Было множество ошибок, которые я исправил, пытаясь запустить rake db: migrate, но я не могу пройти мимо этого…

 rake aborted!
no such file to load -- config/environment

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

моя среда конфигурации

 #Load the rails application
require File.expand_path('../application', __FILE__)

# Initialize the rails application
AppName::Application.initialize!
  

с трассировкой

     rake aborted!
    no such file to load -- config/environment
   /Users/Kyle/Desktop/Rails_Projects/unitedaction3/lib/tasks/account.rake:2:in `require'
   /Users/Kyle/Desktop/Rails_Projects/unitedaction3/lib/tasks/account.rake:2:in `<top     (required)>'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/engine.rb:131:in `load'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/engine.rb:131:in `block in     load_tasks'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/engine.rb:131:in `each'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/engine.rb:131:in `load_tasks'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/application.rb:141:in   `load_tasks'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/application.rb:77:in `method_missing'
   /Users/Kyle/Desktop/Rails_Projects/unitedaction3/Rakefile:9:in `<top (required)>'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:78:in `block in   load_rakefile'
  /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:61:in `block in run'
    /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/bin/rake:32:in `<top (required)>'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `load'
   /Users/Kyle/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `<main>'
  

Есть идеи?

Комментарии:

1. Запустите его --trace и опубликуйте результат здесь, это может помочь.

2. Что в /lib/tasks/account.rake ? Похоже, возможно , вам нужно изменить ссылку на environment.rb в этом файле на относительный путь (т. Е. ../../config/environment.rb . Это всего лишь предположение, поэтому я пока не буду публиковать его в качестве ответа.

3.Вы пытаетесь вручную require config/environment.rb или передаете :environment определение задачи?

Ответ №1:

Я не уверен, видели ли вы это, но есть плагин rails, который предоставляет задачи rake, чтобы помочь с этим обновлением: https://github.com/rails/rails_upgrade

Это дает вам:

 rake rails:upgrade:check
rake rails:upgrade:configuration
  

Но я думаю, что в конечном итоге вам нужно будет создать новое пустое приложение rails 3 и скопировать сгенерированный config/environment файл в ваше приложение.