2012-08-16 4 views
0

레일즈 앱에서 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을 호출하는 행을 주석 처리하면 모든 것이 잘 작동하는 것처럼 보입니다 (물론 테스트 데이터베이스를 준비하지는 않습니다). 어떤 아이디어가 문제인지 또는 어떻게 해결할 수 있습니까?

답변

0

갈퀴 작업 후에 Course.reset_column_information을 시도하십시오.

+0

내 데이터베이스의 모든 테이블에 대해이를 쉽게 수행 할 수 있습니까? – Ajedi32

관련 문제