복붙노트

[RUBY-ON-RAILS] GIT에서 레일 dB / schema.rb 파일을 처리 할 수있는 권리 방법은 무엇입니까?

RUBY-ON-RAILS

GIT에서 레일 dB / schema.rb 파일을 처리 할 수있는 권리 방법은 무엇입니까?

GIT에 투입하면서 우리는 schema.rb을 포함해야 하는가? 또는 우리는 그것을 무시해야합니까? 올바른 접근 방식은 무엇인가?

해결법

  1. ==============================

    1.잘 레일 2의 표준 schema.rb 파일은 파일의 맨 위에있는 주석 블록의 끝 부분이있다 :

    잘 레일 2의 표준 schema.rb 파일은 파일의 맨 위에있는 주석 블록의 끝 부분이있다 :

    # It's strongly recommended to check this file into your version control system.
    

    나는 주위를 발로 것을 레일즈 3 schema.rb는 같은 일을 말한다. 나는 댓글이 모든 것을 말해 생각합니다.

    의견에 대한 응답으로 업데이트 : 예, 실수는 당신이 변화하고 schema.rb을 엉망으로 버그를 충돌 얻을 수 있지만 필요할 때 당신이 개정 통제하에 원하는 이유는, 개정 제어 할 수 있다는 당신이 모든 백업 추적 할 수 있습니다 만들어 할 수있다. 이 데이터베이스 스키마를 지정하는 전체 소스 트리에서 단 한 가지이며, 그 schema.rb입니다. 데이터베이스 스키마가 절대적으로 중요한 유물 중요한 요구 사항이 버전 관리에서 추적되는 것을 아무것도이다.

    schema.rb을 가진 모든 갱신 / 병합 문제는 단지 schema.rb는 실제 문제를 해결의 부작용으로 고정 얻을 것이다 귀하의 충돌 마이그레이션을 정렬하여 정리해야한다.

    예, schema.rb는 생성 된 파일입니다 있지만 텍스트 편집기가 pancake.rb 모델 파일을 생성하거나 편집되지 않은 비계 파일이 생성된다는 의미에서 생성됩니다.

    예, 당신은 새 데이터베이스를 구축 한 다음 모든 마이그레이션을 실행하여 schema.rb 파일을 다시 할 수있다. 그러나, 마이그레이션 파일은 DB를 긁어 때마다 수백 확인하는 것을 피하기 위해 이제 다음 이전 마이그레이션을 취소해야하므로 마이그레이션 "을 재건하고 모든 마이그레이션을 실행"종종 매우 활성 프로젝트의 옵션이 없습니다.

  2. ==============================

    2.예. 리셋 및 다른 명령 : 스키마 파일은 레이크 DB를 사용하는 경우 데이터베이스를 구성하는 데 사용됩니다. 마이그레이션은 데이터베이스 스키마를 변경하는 경우에만 사용되어야하며, 항상 새로운 스키마 파일에서 발생합니다.

    예. 리셋 및 다른 명령 : 스키마 파일은 레이크 DB를 사용하는 경우 데이터베이스를 구성하는 데 사용됩니다. 마이그레이션은 데이터베이스 스키마를 변경하는 경우에만 사용되어야하며, 항상 새로운 스키마 파일에서 발생합니다.

  3. ==============================

    3.음, 기본적으로 .gitignore에 포함 아니에요. 그래서, 당신은 문제가 (내가 아무 문제없이, 내 프로젝트에서 할)를 포함하지 않았을 것이라고 생각합니다.

    음, 기본적으로 .gitignore에 포함 아니에요. 그래서, 당신은 문제가 (내가 아무 문제없이, 내 프로젝트에서 할)를 포함하지 않았을 것이라고 생각합니다.

  4. ==============================

    4.마이그레이션을 : 그것은 내가 갈퀴 DB를 시작할 때 생성 때문에, 힘내이 파일을 커밋하지 않습니다.

    마이그레이션을 : 그것은 내가 갈퀴 DB를 시작할 때 생성 때문에, 힘내이 파일을 커밋하지 않습니다.

    나는 힘내이 파일을 커밋 할 경우에, 나는 각 DB 후 서버에서 새로운 변화를 당길 수 없습니다 마이그레이션을.

  5. from https://stackoverflow.com/questions/6450263/what-is-the-right-approach-to-deal-with-rails-db-schema-rb-file-in-git by cc-by-sa and MIT license