'rake db : migrate RAILS_ENV = test'를 실행하라는 메시지가 표시되는 이유는 무엇입니까?
Rails 4.0.0.rc1, Ruby 2.0.0에서 마이그레이션을 실행 한 후 테스트를 실행하려고하면 다음 오류가 표시됩니다 rspec
.
/Users/peeja/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:376:in`check_pending! ': 마이그레이션이 보류 중입니다. 이 문제를 해결하려면 'rake db : migrate RAILS_ENV = test'를 실행하십시오. (ActiveRecord :: PendingMigrationError)
그것은 옳지 않은 것 같습니다. 아무도 테스트 데이터베이스를 마이그레이션하지 않습니까? 그들은 db:test:prepare
그것이 공정 들려요이해야 할 잊어 수-합니다. 그래서 명령을 다시 실행 rake db:test:prepare
하고 실행 rspec
하면 같은 오류가 나타납니다.
내가 실제로이라면 rake db:migrate RAILS_ENV=test
오류는 실제로 사라집니다.
무슨 일이야? Rails 4의 새로운 기능입니까?
Rails 4.1부터 rake db:test:*
태스크는 더 이상 사용되지 않습니다. 대신 다음 (test|spec)_helper.rb
을 포함해야합니다.
ActiveRecord::Migration.maintain_test_schema!
즉, Rake 작업에서 실행했는지 여부에 관계없이 테스트가 실행될 때마다 테스트 데이터베이스가 올바른 스키마를 가져옵니다.
rake test:prepare
작품 처럼 보이지만 db:test:prepare
지금은 무엇을하는지 잘 모르겠습니다 .
나는 한 사람의 대답을 따를 때이 문제를 분류하는 데 때때로 어려움을 겪고 있으므로 더 나은 결과를 얻기 위해 몇 가지를 함께 던졌습니다. 내가 취하는 단계는 무엇이 필요하지 않은지 확실하지 않지만 결국 작동합니다.
ActiveRecord::Migration.maintain_test_schema!
test_helper.rb 파일의 맨 위에 추가 하십시오.rake test:prepare
rake db:migrate
rake db:migrate RAILS_ENV=test
그런 다음 실행하면 bundle exec rake test
보류중인 마이그레이션없이 매번 깨끗한 결과를 얻습니다. (이것이 처음 발판을 생성 한 직후에하는 일입니다). 이 단계 중 하나가 절대적으로 필요하지 않다는 것을 알고 있다면 누군가 나를 바로 잡으십시오. 그러나 이것이 매번 작동하는지 확인하는 방법입니다.
시도해 볼 수도 있습니다.
rake db:migrate RAILS_ENV=test
작동하는
db:test:prepare
않습니다 :)
chruby
내 루비 버전을 관리하는 데 사용할 때이 문제가 있음을 발견했습니다 . Rails bin/rails db:test:prepare
는 시스템 명령을 통해 호출합니다 . 이것은 chrubys $PATH
env var를 활용하지 않으므로 시스템 루비가 무엇이든 실행되며 일반적으로 보석이 누락되어 실패합니다. 불행히도 현재 이에 대한 좋은 해결책이 없습니다.
다음과 같이 변수 BEFORE 명령을 설정할 수 있습니다. 이 진술은 내 문제를 해결했습니다.
RAILS_ENV=test rake db:migrate
참조 URL : https://stackoverflow.com/questions/17150529/why-am-i-asked-to-run-rake-dbmigrate-rails-env-test
'IT story' 카테고리의 다른 글
PHP 파열하지만 각 요소를 따옴표로 묶습니다. (0) | 2020.12.29 |
---|---|
Linux에서 여러 jpg를 단일 pdf로 병합 (0) | 2020.12.29 |
잘못된 익명 형식 멤버 선언자 (0) | 2020.12.29 |
“Prepare for Submission”상태의 itunesconnect 앱을 삭제하는 방법은 무엇입니까? (0) | 2020.12.29 |
Spring Boot에서 프로그래밍 방식으로 DataSource 구성 (0) | 2020.12.29 |