레일즈 앱에서 db:reset
으로 데이터베이스를 재설정하는 레이크 작업을 생성하고 테스트 데이터베이스를 db:test:prepare
으로 준비한 다음 데이터베이스를 다시 채우려 고 시도합니다 예를 들어 데이터가 액티브를 사용하여에 : 나는 그것을 실행할 때레이크 작업에서`db : test : prepare` 후에 ActiveRecord 모델에 액세스하기
namespace :db do
task :repopulate => :environment do
Rake::Task['db:reset'].invoke
Rake::Task['db:test:prepare'].invoke
puts Course.first.inspect
end
end
불행하게도, 작업이 불평, 실패 그것을 Could not find table 'courses'
그. 또한 수동으로 rake db:test:prepare
을 실행할 때까지 내 테스트가 모두 실패하기 때문에 테스트 데이터베이스를 올바르게 준비한 것 같지 않습니다. db:test:prepare
을 호출하는 행을 주석 처리하면 모든 것이 잘 작동하는 것처럼 보입니다 (물론 테스트 데이터베이스를 준비하지는 않습니다). 어떤 아이디어가 문제인지 또는 어떻게 해결할 수 있습니까?
내 데이터베이스의 모든 테이블에 대해이를 쉽게 수행 할 수 있습니까? – Ajedi32