Rumah  >  Artikel  >  pangkalan data  >  Mengapa Saya Mendapat Ralat "Jadual Tidak Wujud" Semasa Penyegerakan Pangkalan Data Django?

Mengapa Saya Mendapat Ralat "Jadual Tidak Wujud" Semasa Penyegerakan Pangkalan Data Django?

Patricia Arquette
Patricia Arquetteasal
2024-11-08 03:13:01660semak imbas

Why Am I Getting a

Ralat "Jadual Tidak Wujud" Django

Semasa proses penyegerakan pangkalan data menggunakan manage.py syncdb, anda mungkin menghadapi mesej ralat "Jadual 'someapp.feed' tidak wujud." Ralat ini berlaku apabila anda telah menjatuhkan jadual yang berkaitan dengan apl tertentu dan kemudian cuba menyegerakkan pangkalan data.

Untuk menyelesaikan isu ini, anda boleh mengikuti langkah berikut:

  1. Jatuhkan jadual secara kekal. Sahkan bahawa anda telah menjatuhkan jadual secara kekal. Langkah ini adalah penting untuk mengelakkan kemungkinan isu integriti data.
  2. Ulas model dalam models.py. Buat sementara waktu ulas takrif model yang sepadan dengan jadual yang digugurkan dalam models.py . Ini akan menghalang Django daripada cuba mencipta jadual semasa proses penyegerakan.
  3. Laksanakan migrasi dengan pilihan --fake. Bergantung pada versi Django anda, gunakan salah satu daripada arahan berikut :

    • Django >= 1.7:
      python manage.py makemigration
      python manage.py migrate --fake
    • Django < 1.7:
      python manage.py schemamigration someapp --auto
      python manage.py migrate someapp --fake

    Pilihan --fake membolehkan Django mencipta migrasi yang diperlukan tanpa mengubah suai pangkalan data.

  4. Nyahkomen model dan pindah semula. Nyahtandakan takrif model dalam models.py dan laksanakan semula migrasi tanpa pilihan --fake. Ini akan membuat jadual dan mengemas kini skema pangkalan data dengan sewajarnya.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat "Jadual Tidak Wujud" Semasa Penyegerakan Pangkalan Data Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn