2017-02-06 6 views
4

내가 (40에서 120 MAX_LENGTH) User 모델에서 하나 개의 필드를 변경하여 만든 장고 1.9장고 특정 마이그레이션 (없음 마이그레이션 적용 없음)

에서 응용 프로그램 일하고 건너 뜁니다. 이주가 실행되지 않았으며 분명히 건너 뛴 것을 알 수 있습니다. 왜 이런 일이 일어나는 지 이해할 수 없습니다.
종속성이 제대로되어 있는지 확인했습니다.
상황이 내가 시도 :
데이터베이스가 실행 (django_migrations 테이블)로 말을하지 않는다는 것을 검증 : 가 장고가 수 있다면 내가 확인 더 0021_alter_user_lms_user_id

django_migrations table

2가없는 참조 마이그레이션 파일 참조 :

django showmigrations command result

을 나는이 결과에 매우 놀란다. 데이터가있는 배포 된 앱이므로 마이그레이션 및 데이터베이스를 삭제할 수 없습니다.

어떤 도움을

주를 감사 : 나는이 질문을 게시하기 전에 찾을 수있는 모든 관련 질문을 확인.

답변

1

나는 그것을 스스로 고쳤으며, 장고와 동일하거나 유사한 이슈를 경험하는 다른 사람들을 돕기를 희망했다.

은 그냥 마이그레이션 파일 이름으로 실행 여부를 확인하지 않습니다 장고처럼 보이지만 또한이 파일 이름 (적어도 내 경험)에서 선두 번호에 의해 파일의 순서에주의를 지불한다. 단계
역사 :

자식 브랜치는 : 0021_alter_user_lms_user_id에 대한 마이그레이션을 생성하고 아직 마스터에 병합되지 않았습니다.

B 자식 지점 : 내가 마스터 및 실행 마이그레이션에 자식 지점 B 병합 (내가 0022_으로 순서와 수동 접두사 파일 이름을 따라야 사고) 0022_toolconsumer_is_vericite_enabled 위해 만든 마이그레이션이 시점에서 이제

. 이제 자식 분기을 마스터에 병합하고 마이 그 레이션을 실행하려는 경우 django는 파일을 보지만 0022_0021_ 이후이므로 실제로는 db에 적용되는지 여부를 확인하는 대신 파일을 건너 뜁니다.

수정 : 나는 기본적으로 이름이 바뀐 파일 이름 0021_alter_user_lms_user_id에서 0023_alter_user_lms_user_id에 (종속성을 업데이트하는 것을 잊지 마세요)과 ./manage.py migrate를 실행하고 문제없이 일했다. 이미지를 참조하십시오.

working migration result screen capture

희망이 사람을 도움이됩니다.