2015-01-23 1 views
0

이제 db/migrate 폴더를 .gitignore 파일에 추가하려고합니다.마이그레이션 파일 관련 권장 사항

마이그레이션이 어떻게 든 혼합/엉망이 될 수 있으므로 진행중인 프로젝트에서 작업하기 시작할 때 schema.rb에 의지하는 것이 좋습니다. 하나씩 마이그레이션을 실행하십시오.

repo에서 마이그레이션 파일을 제외하고 rake db:setup에 의존하는 것이 좋습니다.

+1

여러 개발자와 함께한 프로젝트에서이 폴더를 가지고'rake db : migrate : down' 또는 다른 것들을하는 것이 매우 중요합니다 ... – pierallard

답변

4

단일 개발자이거나 팀의 모든 구성원에 대해 db:setupdb:seed을 의존하는 경우 가능합니다.

그러나 프로덕션 서버에 응용 프로그램을 배포하려는 경우에는 실제로는 그렇지 않아야합니다. 마이그레이션은 여기에 따라 대상 시스템의 실제 스키마 버전으로 스키마를 업데이트하기 때문에 여기에 있어야합니다. 그들과 함께, 권한 변경 만 적용됩니다. 그것들이 없으면, schema.rb에만 의존하게되면 데이터베이스를 완전히 리셋하여 비울 것입니다. 우리가 프로덕션 서버에서 가장 필요로하는 것이 아닙니다.

또한 마이 그 레이션은 코딩하는 동안 데이터베이스 상태에 대한 유용한 참조이므로 각 모델의 필드 목록을 schema.rb보다 가독성있게 찾을 수 있습니다.

당신은 프로덕션 서버에 당신이 하나의 개발자 인 경우 응용 프로그램을 배포하지 않은 경우 (또는 다른 개발자가 동의하는 경우) 원래 create_table 이전에 모든 변경 사항 (add_field를 ...) 통합하여 마이그레이션을 리팩토링 할 수