我的默认 rails 环境是否设置为测试?

Is my default rails environment set to test?

每次我 运行 rake db:migrate 当我尝试用 rake 做任何其他事情时,我都会收到以下错误:

(work)doctorly:job_app$ rake
rake aborted!
ActiveRecord::PendingMigrationError: 

Migrations are pending. To resolve this issue, run:

    bin/rake db:migrate RAILS_ENV=test

/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:393:in `check_pending!'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:406:in `load_schema_if_pending!'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:412:in `block in     maintain_test_schema!'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:640:in `suppress_messages'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:417:in `method_missing'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:412:in `maintain_test_schema!'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_help.rb:19:in `<top (required)>'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `block in require'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require'
/var/host/media/removable/SD Card/work/job_app/test/test_helper.rb:3:in `<top (required)>'
/var/host/media/removable/SD Card/work/job_app/test/controllers/welcome_controller_test.rb:1:in   `require'
/var/host/media/removable/SD Card/work/job_app/test/controllers/welcome_controller_test.rb:1:in `<top (required)>'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:114:in `require'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:114:in `block (3 levels) in define'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:114:in `each'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:114:in `block (2 levels) in define'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:113:in `each'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:113:in `block in define'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:20:in `invoke_rake_task'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/testing.rake:8:in `block in <top (required)>'
Tasks: TOP => test:run

并且在 运行 rake db:migrate RAILS_ENV=test 之前我一直收到此错误。我该如何解决这个问题,这样我就不必在每次迁移时都运行 进行第二次迁移?

Is my default rails environment set to test?

不,你要求rails运行你的测试。

当你 运行 rake 没有参数时,它 运行 是默认任务,Rails 意味着 运行 测试。您需要将测试环境设置为 运行 它们。如果你不 运行 你的测试,请不要 运行 rake,给它一个实际的命令。