Не знаю, как создать задачу 'db: migrate' с Rails 3.2.0.rc2 - PullRequest
8 голосов
/ 15 января 2012

Я пытаюсь обновить приложение Rails до 3.2.0.rc2, но когда я пытаюсь сделать rake db:migrate --trace, я получаю следующее сообщение об ошибке:

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/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/lib/rake/task_manager.rb:49:in `[]'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/lib/rake/application.rb:115:in `invoke_task'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/bin/rake:19:in `load'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/bin/rake:19:in `<main>'

Предупреждение об устаревании относится к этой строке в application.rb:

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

Это должно быть удалено или изменено в последней версии Rails? Я попытался удалить эту строку и снова запустить миграцию. Я больше не получаю предупреждение, но все равно получаю ошибку Don't know how to build task 'db:migrate'. Есть идеи?

Выполнение bundle exec rake -T дает следующее:

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

Казалось бы, все мои rake db задачи отсутствуют.

Ответы [ 2 ]

14 голосов
/ 18 января 2012

В ваших версиях драгоценных камней происходит нечто очень прикольное.Если вы посмотрите на свой gemfile.lock, он использует версии railties, activesupport и activemodel версии 3.2.rc2, но другие версии повсюду (ar - 1.6, action mailer - 0.6.1 и т. Д.).

Я не уверен, как вы попали в это состояние, но я бы попробовал либо bundle update, либо удалить Gemfile.lock, а затем запустить bundle install (теоретически эти 2 эквивалентны) и указать точную версию рельсов, которую вы хотите (тем более, что вы после предварительной версии рельсов.)

5 голосов
/ 18 января 2012

Из команды rake db:migrate --trace грабли не загружаются.И вы не могли правильно понять схему пути.и запустить rake -T локально список db:migrate в качестве одной из задач грабли?Если нет, то ваши rails неправильно настроены ... ну, я не работал с rails 3.2.0rc2, но я погуглил и нашел несколько ссылок.Пожалуйста, ссылки ниже это поможет вам ..

Rake db: ошибка переноса не знаю, как построить задачу

Не знаю, какпостроить грабли db: мигрировать на Ubuntu natty

Проблема с запуском rake db: migrate

Дайте мне знать, как это работает!

Спасибо, Фредерик, Его интересный пост ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...