>  기사  >  데이터 베이스  >  Django 데이터베이스 동기화 중에 '테이블이 존재하지 않습니다' 오류가 발생하는 이유는 무엇입니까?

Django 데이터베이스 동기화 중에 '테이블이 존재하지 않습니다' 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-08 03:13:01723검색

Why Am I Getting a

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

manage.py syncdb를 사용하여 데이터베이스 동기화 프로세스 중에 오류 메시지가 나타날 수 있습니다. "테이블 'someapp.feed'가 존재하지 않습니다." 이 오류는 특정 앱과 관련된 테이블을 삭제한 후 데이터베이스 동기화를 시도할 때 발생합니다.

이 문제를 해결하려면 다음 단계를 따르세요.

  1. 테이블을 영구적으로 삭제합니다. 테이블을 영구적으로 삭제했는지 확인합니다. 이 단계는 잠재적인 데이터 무결성 문제를 방지하는 데 매우 중요합니다.
  2. models.py에서 모델을 주석 처리합니다. models.py에서 삭제된 테이블에 해당하는 모델 정의를 임시로 주석 처리합니다. . 이렇게 하면 Django가 동기화 프로세스 중에 테이블을 생성하려고 시도하는 것을 방지할 수 있습니다.
  3. --fake 옵션을 사용하여 마이그레이션을 실행하세요. Django 버전에 따라 다음 명령 중 하나를 사용하세요. :

    • Django >= 1.7:
      pythonmanage.py makemigrations
      pythonmanage.py migration --fake
    • Django < 1.7:
      pythonmanage.pyschemamigration someapp --auto
      pythonmanage.py migration someapp --fake

    --fake 옵션을 사용하면 Django는 실제로 수정하지 않고도 필요한 마이그레이션을 생성할 수 있습니다.

  4. 모델의 주석 처리를 해제하고 다시 마이그레이션하세요. models.py에서 모델 정의의 주석 처리를 해제하고 --fake 옵션 없이 마이그레이션을 다시 실행하세요. 그러면 테이블이 생성되고 이에 따라 데이터베이스 스키마가 업데이트됩니다.

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

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