我的默认 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
,给它一个实际的命令。
每次我 运行 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
,给它一个实际的命令。