2013-10-03 4 views
3

두 개의 서버가 있으며 하나는 개발 용이고 다른 하나는 생산 용입니다. 개발에서 응용 프로그램 마이 그 레이션은 현재 0006입니다 생산에 0012입니다.Django South 일부 마이그레이션 파일 건너 뛰기

manage.py migrate apps.my_app 0012 

내 질문이 뜻 : 어떤 이유로 우리는 여전히 0007 -> 0011에서 마이그레이션을 마이그레이션하지 않으려하지만 우리는뿐만 아니라 생산에 0012을 마이그레이션 할 마, 내가 특정 파일을 마이그레이션하기 위해이 작업을 수행 할 수있어 마이그레이션 파일에 간격이 있으면 남쪽이 부러지지 않습니까? 그렇다면이 특정 사례를 어떻게 처리해야하는지, 미래에는 마이그레이션 파일 (지금은 건너 뜁니다) 사이에서 마이그레이션 할 때 아무 것도하지 않고 할 수 있습니다.

+1

'--fake 0011'을 (를) 사용 하시겠습니까? – karthikr

답변

3

South는 순차적이라고 가정하므로 마이그레이션에 간격이있을 수 없습니다. 다음과 같이 처리합니다.

  1. 개발을 0006으로 다시 마이그레이션하십시오.
  2. 0012이 수행하는 새 마이그레이션 0007을 만들고 개발 및 프로덕션에 모두 적용합니다.
  3. 원래 0007에서 0011까지 새 마이그레이션을 생성하여 개발 및 준비에 적용합니다.

앞으로는 분기를 사용하고 개발 및 프로덕션 환경에서 분기 할 때 (마이그레이션 포함) 병합하는 것이 좋습니다.

+0

브랜치에 대한 아이디어가 마음에 들지만 현재는 두 서버에 대해 별도의 자식 리파지토리가 있습니다. 그러나 나는 아직도 당신의 대답을 이해하고 있습니다. –

+0

답변과 제안에 감사드립니다. –

관련 문제