2009-08-19 2 views
1

그래서 마이그레이션 중에 데이터가로드됩니다. 예를 들어 사용자 테이블이 만들어지면 기본 사용자가 만들어지고 foo_admin과 같은 특정 사용자 역할이 만들어집니다. foos 테이블 만들어집니다.스키마로드 대신 오이 실행 스키마 만들기

큐로드는 스키마로드를 수행하므로이 방법이 좋지 않습니다.

대신 오이를 마이그레이션 만 실행하거나 그 유형을 수행하는 것이 더 나은 방법 일 수 있습니까? 기계공이 공장으로 사용 중임 (비품 없음)

답변

2

데이터를로드하기 위해 마이그레이션을 사용하지 마십시오. schema.rb를 빌드 할 때 데이터로드가 보존되지 않으므로 널리 사용되지 않는 것으로 간주됩니다.

는 레이크 작업에서 데이터를로드 또는 당신이 당신의 env.rb에 연결할 수 있습니다 또 다른 방법의 블로그에게 그런

begin do 
    Role.create :name=>"admin" 
    `rake RAILS_ENV="test" db:load_data_for_testing ` 
end 

또는 무언가를 시작 파일.

0

나는 비슷한 문제를 겪었고, 그것들을 레이크의 의존성으로 추적했다. 내 해결책은 레이크없이 직접 오이 스크립트를 실행하는 것이었지만, 레일스에서 ​​일부 구성이 필요할 수 있습니다 (Merb를 사용하여 상자에서 작동). 다른 해결책은 db : load_schema 대신 db : migrate에 의존하는 rake 태스크를 재정의하는 것입니다.

NB. 나는 레일의 최근 버전에 대한 경험이 거의 없다. 도 bin/cucumber 스크립트 나 스키마 파일을로드하는 env.rb 파일에있을 수있다.

관련 문제