>데이터 베이스 >MySQL 튜토리얼 >Django 데이터베이스를 다시 동기화할 때 '테이블이 존재하지 않습니다' 오류를 해결하는 방법은 무엇입니까?

Django 데이터베이스를 다시 동기화할 때 '테이블이 존재하지 않습니다' 오류를 해결하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-08 19:41:02673검색

How to Fix the

Django: "테이블이 존재하지 않습니다" 오류

앱과 연결된 테이블을 삭제하고 syncdb를 사용하여 데이터베이스를 다시 동기화하려고 할 때 명령을 실행하면 테이블이 더 이상 존재하지 않는다는 오류가 발생할 수 있습니다.

원인:

누락된 테이블은 관련 앱의 테이블이 삭제되었을 때 제거된 테이블일 가능성이 높습니다. Django에서는 데이터를 동기화하기 전에 테이블이 있어야 합니다.

해결 방법:

누락된 테이블을 복구하려면 다음 단계를 따르세요.

  1. 모델 주석 처리:
    models.py에서 누락된 테이블에 해당하는 모델을 찾아 주석 처리합니다.
  2. 마이그레이션 만들기(Django 1.7):
    Django 버전이 1.7 이상인 경우 makemigrations 명령을 실행합니다.

    python manage.py makemigrations
  3. 마이그레이션 적용(가짜 실행):
    적용 --fake 플래그를 사용하여 데이터베이스를 실제로 변경하지 않고 마이그레이션합니다.

    python manage.py migrate --fake
  4. 모델 주석 처리 해제:
    모델에서 이전에 주석 처리된 모델의 주석 처리를 해제합니다. py.
  5. 마이그레이션 재적용(가짜 없음):
    마이그레이션을 다시 실행합니다. 이번에는 --fake 플래그를 생략하여 테이블을 영구적으로 생성합니다.

    python manage.py migrate

Django의 대안 < 1.7:

1.7 이전 Django 버전의 경우 다음 명령을 사용해야 합니다.

python manage.py schemamigration someapp --auto
python manage.py migrate someapp --fake

이 단계를 수행하면 누락된 테이블을 성공적으로 복구하고 데이터베이스를 동기화할 수 있습니다. 맞습니다.

위 내용은 Django 데이터베이스를 다시 동기화할 때 '테이블이 존재하지 않습니다' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.