저는 장고 세계에 처음 왔습니다. 일부 자습서 응용 프로그램을 실행하고 python manage.py test를 실행하면 테이블이 이미 존재한다는 오류가 발생합니다. 무슨 일이 일어나고 있는지 잘 모르겠습니다. 나는 또한 남쪽을 달리고 있는데 스키마를 이주 할 때 아무런 오류가 없다.django - "manage.py test"가 실패했습니다 "table already exists"
어떤 통찰력이라도 대단히 감사합니다.
TIA 조이
저는 장고 세계에 처음 왔습니다. 일부 자습서 응용 프로그램을 실행하고 python manage.py test를 실행하면 테이블이 이미 존재한다는 오류가 발생합니다. 무슨 일이 일어나고 있는지 잘 모르겠습니다. 나는 또한 남쪽을 달리고 있는데 스키마를 이주 할 때 아무런 오류가 없다.django - "manage.py test"가 실패했습니다 "table already exists"
어떤 통찰력이라도 대단히 감사합니다.
TIA 조이
그것은 당신의 남쪽 마이그레이션 중 하나에 오류가있을 수 있습니다. 마이그레이션이 실행 되었기 때문에 실제 데이터베이스에서 문제가 보이지 않습니다 (-fake 옵션 사용)
scracth에서 db를 다시 만들고 작동하는지 확인할 수 있습니다.
units.py에을 추가하여 settings.py에 South를 사용하지 않도록 설정할 수도 있습니다. 이 옵션을 사용하면 테스트 데이터베이스를 만들기 위해 일반적인 syncdb가 수행됩니다. 또한 테스트 프로세스의 속도도 빨라집니다. 당신이 코 테스트하는 경우
가 나는
매우 통찰력있는 답변! –
만약 내가 처음부터 db를 그려야 만한다면 South의 이점은 무엇입니까? – Ahsan
@Ahsan DB는 테스트를 위해서만 처음부터 만들어지며, 남쪽을 사용하든 사용하지 않든 이런 식으로 발생합니다. –
도움이되기를 바랍니다과 :
DST_RUN_SOUTH_MIGRATIONS = 거짓
패키지의 이름
--cover-package=userdata,incorrectname
하나가 잘못된 경우는 코와도 발생
또 다른 이유로 인해 기존 코드가 나에게도 발생했습니다.
동일한 db 테이블을 참조하는 db_table이있는 두 개의 모델이 있습니다. 그게 어리석은 건 알지만 내 잘못이 아니야.)
그리고 나는 인터넷에서 나를 도울 수있는 것을 찾지 못했습니다. 자세한 정보로 저장되었습니다 (manage.py test -v 3) 희망 사항은 누구에게나 도움이되기를 바랍니다.
class Bla1(Model):
some_column = ...
class Meta:
db_table = 'some_table'
class Bla2(Model):
some_column = ...
class Meta:
db_table = 'some_table'
아마도 : http://stackoverflow.com/questions/3090648/django-south-table-already-exists – payne
예! 그게 다야, 몇 가지 실수를 저질렀고 db와의 동기화가 원활하지 못했다. 깨끗한 설치가 바로 그것을 수정. –