不知道如何使用 Rails 3.2.0.rc2 构建任务“db:migrate" [英] Don't know how to build task 'db:migrate' w/ Rails 3.2.0.rc2

查看:27
本文介绍了不知道如何使用 Rails 3.2.0.rc2 构建任务“db:migrate"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将 Rails 应用程序升级到 3.2.0.rc2,但是当我尝试执行 rake db:migrate --trace 时,我现在收到以下错误消息:

I'm attempting to upgrade my Rails application to 3.2.0.rc2 but When I try to do a rake db:migrate --trace I'm now getting the following error message:

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 中的这一行有关:

The deprecation warning seems to be in regards to this line in application.rb:

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

这是否应该在最新版本的 Rails 中删除或更改?我尝试删除此行,然后再次运行迁移.然后我不再收到警告,但仍然收到 不知道如何构建任务 'db:migrate' 错误.有什么想法吗?

Is this supposed to be removed or changed in the latest version of Rails? I tried removing this line, and running the migrate again. I then no longer get the warning but still get the Don't know how to build task 'db:migrate' error. Any ideas?

执行 bundle exec rake -T 会产生以下结果:

Doing a bundle exec rake -T yields the following:

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 任务都丢失了.

It would appear as if all of my rake db tasks are missing.

推荐答案

您的 gem 版本有一些非常奇怪的事情.如果您查看您的 gemfile.lock,它使用的是 3.2.rc2 版本的 railties、activesupport 和 activemodel,但其他版本到处都是(ar 是 1.6,action mailer 是 0.6.1 等).

There is something very funky going on with your gem versions. If you look at your gemfile.lock it's using the 3.2.rc2 versions of railties, activesupport and activemodel but the other versions are all over the place ( ar is 1.6, action mailer is 0.6.1 etc).

我不确定您是如何进入这种状态的,但我会尝试 bundle update 或删除 Gemfile.lock 然后运行 ​​bundle install(理论上这两个是等价的)并指定您想要的确切版本的 rails(尤其是当您使用 Rails 的预发布版本时.)

I'm not sure how you got into this state, but I'd try either bundle update or deleting Gemfile.lock and then running bundle install (in theory those 2 are equivalent) and specifying the precise version of rails you want (especially as you're after a prerelease version of rails.)

这篇关于不知道如何使用 Rails 3.2.0.rc2 构建任务“db:migrate"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆