2012-01-15 12 views
8

Próbuję zaktualizować aplikację Rails do wersji 3.2.0.rc2, ale kiedy próbuję wykonać numer rake db:migrate --trace teraz otrzymuję następujący komunikat o błędzie:Nie wiem, jak zbudować zadanie "db: migrate" w/Rails 3.2.0.rc2

DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in ActionController::Base instead. (called from <top (required)> at /Users/Kyle/Desktop/skateparks-web/config/application.rb:4) 
rake aborted! 
Don't know how to build task 'db:migrate' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task_manager.rb:49:in `[]' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:115:in `invoke_task' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level' 
/Users/Kyle/.rvm/gems/ruby-1.9.2[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>' 
/Users/Kyle/.rvm/gems/[email protected]/bin/rake:19:in `load' 
/Users/Kyle/.rvm/gems/[email protected]/bin/rake:19:in `<main>' 

ostrzeżenie deprecation wydaje się być w odniesieniu do tej linii w application.rb:

Bundler.require(:default, :assets, Rails.env) if defined?(Bundler) 

czy to ma być usunięte lub zmienione w najnowszej wersji Rails? Próbowałem usunąć tę linię i ponownie uruchomić migrację. Nie otrzymuję już ostrzeżenia, ale nadal pojawia się błąd Don't know how to build task 'db:migrate'. Jakieś pomysły?

Doing bundle exec rake -T daje następujące:

DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in ActionController::Base instead. (called from <top (required)> at /Users/Kyle/Desktop/skateparks-web/config/application.rb:4) 
rake about        # List versions of all Rails frameworks and the environment 
rake assets:clean      # Remove compiled assets 
rake assets:precompile     # Compile all the assets named in config.assets.precompile 
rake cron        # This task is called by the Heroku cron add-on 
rake doc:app        # Generate docs for the app -- also available doc:rails, doc:guides, doc:plugins (options: TEMPLATE=/... 
rake friendlyid:rebuild     # Updates all User and Skatepark friendly IDs 
rake geocode:all       # Geocode all objects without coordinates. 
rake jobs:work       # Alias for resque:work (To run workers on Heroku) 
rake log:clear       # Truncates all *.log files in log/ to zero bytes 
rake middleware       # Prints out your Rack middleware stack 
rake notes        # Enumerate all annotations (use notes:optimize, :fixme, :todo for focus) 
rake notes:custom      # Enumerate a custom annotation, specify with ANNOTATION=CUSTOM 
rake rails:template      # Applies the template supplied by LOCATION=(/path/to/template) or URL 
rake rails:update      # Update configs and some other initially generated files (or use just update:configs, update:scripts... 
rake resque:scheduler     # Start Resque Scheduler 
rake resque:work       # Start a Resque worker 
rake resque:workers      # Start multiple Resque workers. 
rake routes        # Print out all defined routes in match order, with names. 
rake secret        # Generate a cryptographically secure secret key (this is typically used to generate a secret for coo... 
rake sorcery:bootstrap     # Adds sorcery's initializer file 
rake spec        # Run all specs in spec directory (excluding plugin specs) 
rake spec:controllers     # Run the code examples in spec/controllers 
rake spec:helpers      # Run the code examples in spec/helpers 
rake spec:lib       # Run the code examples in spec/lib 
rake spec:mailers      # Run the code examples in spec/mailers 
rake spec:models       # Run the code examples in spec/models 
rake spec:rcov       # Run all specs with rcov 
rake spec:requests      # Run the code examples in spec/requests 
rake spec:routing      # Run the code examples in spec/routing 
rake spec:views       # Run the code examples in spec/views 
rake stats        # Report code statistics (KLOCs, etc) from the application 
rake sunspot:reindex[batch_size,models] # Reindex all solr models that are located in your application's models directory. 
rake sunspot:solr:run     # Run the Solr instance in the foreground 
rake sunspot:solr:start     # Start the Solr instance 
rake sunspot:solr:stop     # Stop the Solr instance 
rake test        # Runs test:units, test:functionals, test:integration together (also available: test:benchmark, test:... 
rake test:recent       # Run tests for {:recent=>"test:prepare"}/Test recent changes 
rake test:single       # Run tests for {:single=>"test:prepare"} 
rake test:uncommitted     # Run tests for {:uncommitted=>"test:prepare"}/Test changes since last checkin (only Subversion and... 
rake time:zones:all      # Displays all time zones, also available: time:zones:us, time:zones:local -- filter with OFFSET para... 
rake tmp:clear       # Clear session, cache, and socket files from tmp/ (narrow w/ tmp:sessions:clear, tmp:cache:clear, tm... 
rake tmp:create       # Creates tmp directories for sessions, cache, sockets, and pids 

Wydaje się, jakby wszystkie moje rake db zadań brakuje.

+0

co mówi pakiet exec grab -T? – phoet

+0

Zaktualizowałem moje pytanie z wyjściem. Wygląda na to, że brakuje wszystkich zadań 'rake db'. –

+3

Czy robisz 'require 'rails/all'' w pliku application.rb lub czy ładujesz podzestaw? –

Odpowiedz

14

Jest coś bardzo funkyego z Twoimi wersjami klejnotów. Jeśli spojrzysz na swój plik gemfile.lock, używasz wersji 3.2.rc2 dla pociągów, activesupport i activemodel, ale inne wersje są wszędzie (ar jest 1.6, akcja mailer to 0.6.1 itd.).

Nie jestem pewien, w jaki sposób osiągnąłeś ten stan, ale chciałbym spróbować albo bundle update lub usunąć Gemfile.lock, a następnie uruchomić bundle install (teoretycznie te 2 są równoważne) i określając dokładną wersję szyn, które chcesz (szczególnie, gdy szukasz jeszcze jednej wersji szyn).

+0

Wydaje się, że tak się dzieje, ponieważ nie mam jednoznacznego określenia '3.2.0.rc2' w moim pliku Gemfile. Sądziłem, że wystarczy umieścić "perły klejnotowe", ale chyba nie. Czy to może być błąd w/Rails? –

+0

Jeśli jest to błąd w czymkolwiek, byłby w bundler. Mówiąc ściśle, zbiór klejnotów, które zostały wybrane, pasuje do twojego gemfile (prawdopodobnie dlatego, że niektóre ze starszych wersji były bardziej zrelaksowane co do określonych wersji) –

+0

Usunięcie Gemfile.lock + instalacja pakietu działało idealnie. Twoje zdrowie. –

5

Z polecenia rake db:migrate --trace, zadania rake nie są ładowane. i czy nie można uzyskać prawidłowego schematu ścieżki. i działa rake -T lokalnie lista db:migrate jako jedno z zadań prowizji? Jeśli nie, twoje szyny są źle skonfigurowane ... cóż, nie pracowałem z szynami 3.2.0rc2, ale używałem go w wyszukiwarce i znalazłem linki. Proszę odnieść linki poniżej tego by pomóc ..

Rake db:migrate error don't know how to build task

Don't know how to build rake db:migrate on Ubuntu natty

Problem running rake db:migrate

Daj mi znać, jak to działa!

Dzięki Fryderykowi, jego interesujący post ..

+1

Dzięki za tę odpowiedź. To działa dla mnie. – gsoni

Powiązane problemy