2014-12-12 1 views
0

discount_codes 지점에서 작업 모델에 discount_code_id 속성을 추가하는 마이그레이션을 만들었습니다. master 분기로 다시 전환 할 때 콘솔을 열고 Job을 입력하면 여전히 특성으로 discount_code_id이 표시됩니다.Rails 3.2/Git : 마스터로 다시 전환 할 때 내 모델에 기능 분기의 attr이있는 이유는 무엇입니까?

브랜치가 master으로 돌아 왔기 때문에이 속성을 추가 한 마이 그 레이션이없고 schema.rb은 작업 테이블의 열로 표시하지 않습니다.

콘솔에 새 속성이 표시되는 이유를 설명 할 수 있습니까? 이것은 새로운 콘솔을 열지 만 발생합니다.

+0

이것이 왜 나쁜 질문인지에 대해 아래로 투표 한 사람의 의견을 기다리고 있습니다. 미리 감사드립니다! – sixty4bit

+3

Downvotes에는 피드백이 내장되어 있습니다. "이 질문은 연구 노력을 보여주지는 못하지만 명확하지 않거나 유용하지 않습니다." 그것은 당신이받을 수있는 모든 피드백입니다, 아무도 당신 downvotes에 대한 의견을 빚 졌어. – meagar

+0

나는 개인적으로 유용하다고 생각하고 행운없이 그것을 연구했다. 나는 적당한 수색 기간을 사용하면 안된다 것을 나는 짐작한다. 질문이 불분명하고 유용하지 않은 경우 삭제해야합니까? 92k 담당자가없는 시간을 기억해보십시오. 나는 최선을 다하고있다. – sixty4bit

답변

3

실제 데이터베이스는 Git에서 제어하지 않으며 분기를 변경해도 데이터베이스에 영향을주지 않습니다. 분기를 변경하기 전에 수동으로 down 이전을 실행하거나 수동으로 제거하지 않으면 열이 있습니다.

schema.rb 또는 마이그레이션이 모델에 필드를 제공하지 않아야합니다. 모델의 필드는 데이터베이스의 실제 상태에 의해 정의됩니다. 그리고 말했듯이, 분기를 변경하면 모델의 필드가 변경되지 않습니다.

모든 마이그레이션 및 schema.rb은 데이터베이스 상태를 복원/이동합니다. 그들은 모델에 전혀 영향을주지 않습니다.

+0

고마워, 나는 2 분 전에있다. 나는 대답을 받아 들일 수있다. 마이그레이션이 내 모델에 전혀 직접적인 영향을주지 않는다고 말할 때 무슨 뜻인지 설명해 주시겠습니까? 내 모델을 변경하기 위해 마이그레이션을 작성했습니다. 어떻게 든 용어를 모으는 것 같아요. 데이터베이스 테이블이 모델이 아니라는 것을 알고 있습니다. 마이그레이션이 테이블에 영향을 미치고 모델이 테이블과 상호 작용할 수있는 방법을 설명한다고 말할 수 있습니까? – sixty4bit

관련 문제