rake db : test : prepare는 실제로 무엇을합니까?
나는 rails tutorial 비디오를 따르고 있으며 db:test:prepare
명령이 실제로 무엇을하는지 알 수 없습니다 . 누군가 설명 할 수 있습니까?
위의 레이크 db : migrate는 개발 환경에서 보류중인 마이그레이션을 실행하고 db / schema.rb를 업데이트합니다. rake db : test : load는 현재 db / schema.rb에서 테스트 데이터베이스를 다시 작성합니다. 후속 시도에서는 먼저 보류중인 마이그레이션을 확인하고 적절하게 경고하므로 db : test : prepare를 먼저 실행하는 것이 좋습니다.
-http : //guides.rubyonrails.org/testing.html
기본적으로 데이터베이스 복제를 처리하므로 테스트 데이터베이스를 업데이트하기 위해 테스트에 대해 마이그레이션을 실행할 필요가 없습니다.
구체적으로 rake db:test:prepare
다음을 수행합니다.
- 보류중인 마이그레이션을 확인하고
- 테스트 스키마를로드
즉, db/schema.rb
프로젝트에 존재하지 않은 마이그레이션이 있는지 판별하기 위해 파일을 찾습니다 . 미해결 마이그레이션이 없다고 가정하면 데이터베이스를 비우고 db/schema.rb
파일 내용에 따라 다시로드 합니다.
레이크 dB : 테스트 : 준비 같은 PG 문제에 대한 좋은 솔루션 이 .
"PG :: UndefinedTable : ERROR : relation does not exist"(정확한 Rails 이름 지정 및 규칙 사용) rake db:migrate RAILS_ENV=production
예를 들어, 여기서 논의 된 버그에 대한 테스트 데이터베이스를 작성할 수없는 경우 : "PG 정의 할 수없는 오류 관계 사용자가 존재하지 않습니다."
이 오류 모든 "PG :: UndefinedTable : ERROR : 관계 xxxxx가 없습니다"오류
참고 URL : https://stackoverflow.com/questions/15169894/what-does-rake-dbtestprepare-actually-do
'IT박스' 카테고리의 다른 글
VIM + JSLint? (0) | 2020.07.15 |
---|---|
요점에 이미지를 어떻게 업로드합니까? (0) | 2020.07.14 |
Windows에서 변수의 명령 결과를 어떻게 얻습니까? (0) | 2020.07.14 |
최신 리포지토리 릴리스에서 파일을 다운로드하기위한 GitHub에 대한 링크가 있습니까? (0) | 2020.07.14 |
gradle 플러그인 적용의 차이점 (0) | 2020.07.14 |