Django 1.7의 초기 마이그레이션에서 다시 마이그레이션하는 방법은 무엇입니까?


117

일부 모델로 새 앱을 만들었는데 이제 일부 모델이 제대로 고려되지 않은 것을 알았습니다. 내가 코드를 커밋하지 않았기 때문에 현명한 것은 데이터베이스를 양호한 상태로 마이그레이션하고 더 나은 모델로 마이그레이션을 다시 실행하는 것입니다. 이 경우 마지막 양호한 상태는 새 앱이 존재하지 않는 데이터베이스입니다.

Django 1.7의 초기 마이그레이션에서 다시 마이그레이션하려면 어떻게해야합니까?

에서 South하나가 할 수있는 :

python manage.py migrate <app> zero

<app>마이그레이션 기록에서 지워지고 모든 <app>.

Django 1.7 마이그레이션으로이를 수행하는 방법은 무엇입니까?

답변:


197

Django 1.7+에서도 동일한 작업을 수행 할 수 있습니다.

python manage.py migrate <app> zero

<app>마이그레이션 기록에서 지워지고 모든 테이블 이 삭제 됩니다.<app>

자세한 내용은 django 문서 를 참조하세요.


7
문서화되어 있습니까? 마이그레이션에 대한 장고 문서는 심각 ... 부족
rnevius

2
문서는 django-admin 및 manage.py 문서 페이지에서 찾을 수 있습니다. docs.djangoproject.com/en/1.7/ref/django-admin/…
n__o

@고맙지 만 사양 할게. 답변이 업데이트되었습니다.
ChillarAnand

1
IntegrityError : NOT NULL constraint failed를 어떻게 처리합니까?
wasabigeek

2
Django 1.9에서 이것을 시도했지만 잘 작동했습니다. 감사합니다
Dário 2016-07-22

9

버전 번호를 사용할 수도 있습니다.

python manage.py migrate <app> 0002

출처 : https://docs.djangoproject.com/en/1.7/ref/django-admin/#django-admin-migrate


5
문제는 물었다에서 다시 마이그레이션에 관한 초기 마이그레이션 및 사용은 0000하지 작동합니까
guival

나는 질문을 오해했을 수 있습니다 (특히 잘 작성된 IMHO는 아니지만). 왜 DB를 버리지 않겠습니까? 오 잘
jsh

2
하나의 테이블에 대한 전체 DB를 삭제하는 것은 약간 과잉입니다
guival
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.