Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Membetulkan Ralat "Jadual Tidak Wujud" Apabila Menyegerakkan Semula Pangkalan Data Django Anda?

Bagaimana untuk Membetulkan Ralat "Jadual Tidak Wujud" Apabila Menyegerakkan Semula Pangkalan Data Django Anda?

Barbara Streisand
Barbara Streisandasal
2024-11-08 19:41:02561semak imbas

How to Fix the

Django: Ralat "Jadual Tidak Wujud"

Apabila menjatuhkan jadual yang dikaitkan dengan apl dan cuba menyegerakkan semula pangkalan data menggunakan syncdb arahan, ralat mungkin berlaku yang menunjukkan bahawa jadual tidak lagi wujud.

Punca:

Jadual yang hilang berkemungkinan yang dialih keluar apabila jadual apl yang berkaitan digugurkan. Django memerlukan kewujudan jadual sebelum menyegerakkan data.

Penyelesaian:

Untuk memulihkan jadual yang hilang, ikut langkah berikut:

  1. Ulas Model:
    Cari model yang sepadan dengan jadual yang hilang dalam models.py dan ulas it out.
  2. Buat Migrasi (Django 1.7 ):
    Jika versi Django ialah 1.7 atau lebih baru, laksanakan arahan makemigration:

    python manage.py makemigrations
  3. Gunakan Migrasi (Fake Jalankan):
    Gunakan migrasi tanpa benar-benar mengubah pangkalan data dengan menggunakan bendera --palsu:

    python manage.py migrate --fake
  4. Nyahkomen Model:
    Nyahkomen model yang diulas sebelum ini masuk models.py.
  5. Gunakan Semula Penghijrahan (Tiada Palsu):
    Laksanakan migrasi sekali lagi, kali ini mengetepikan bendera --fake untuk mencipta jadual secara kekal:

    python manage.py migrate

Alternatif untuk Django < 1.7:

Untuk versi Django sebelum 1.7, arahan berikut harus digunakan:

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

Dengan mengikuti langkah ini, anda boleh berjaya memulihkan jadual yang hilang dan menyegerakkan pangkalan data betul.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat "Jadual Tidak Wujud" Apabila Menyegerakkan Semula Pangkalan Data Django Anda?. 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